2010-02-12 29 views
0

有沒有在Smarty模板中使用對象的方法調用作爲條件的目標的方法?在Smarty中作爲{if}的目標的方法

作爲一個具體的例子,我有一個對象$user與方法loggedIn()。我想用這個方法來顯示額外的信息,如果用戶登錄

我這個方法的返回值分配給一個臨時變量,並以此作爲的{if}目標:

{user->loggedIn assign="loggedIn"} 
{if $loggedIn} 
    // show extra info 
{/if} 

有沒有辦法跳過這個中間步驟?我想這樣的事情(不工作):

{if user->loggedIn} 
    // show extra info 
{/if} 

我找不到Smarty的文檔中使用這樣的對象的任何實例。

回答

1

使用assign_by_ref而不是register_object

$smarty->assign_by_ref('user', $user); 

然後你就可以訪問方法:

{if $user->loggedIn()} 
    // show extra info 
{/if} 
+0

正是我一直在尋找,謝謝! – 2010-02-18 17:20:34