有没有办法在Smarty模板中使用对象的方法调用作为条件的目标?
作为一个具体的例子,我有一个对象$user
,其方法为loggedIn()
。如果用户已登录,我想使用此方法显示额外信息。
我可以将此方法的返回值分配给临时变量,并将其用作{if}
的目标:
{user->loggedIn assign="loggedIn"}
{if $loggedIn}
// show extra info
{/if}
有没有办法跳过这个中间步骤?我喜欢这样的东西(不起作用):
{if user->loggedIn}
// show extra info
{/if}
我在Smarty的文档中找不到使用这样的对象的任何示例。
答案 0 :(得分:1)
使用assign_by_ref
代替register_object
:
$smarty->assign_by_ref('user', $user);
然后你可以访问方法:
{if $user->loggedIn()}
// show extra info
{/if}