Метод как цель {if} в Smarty - PullRequest
       30

Метод как цель {if} в Smarty

0 голосов
/ 12 февраля 2010

Есть ли способ использовать вызов метода объекта в качестве цели условия в шаблоне Smarty?

В качестве конкретного примера у меня есть объект $user с методом loggedIn(). Я хочу использовать этот метод для отображения дополнительной информации, если пользователь вошел в систему.

Я могу присвоить возвращаемое значение этого метода временной переменной и использовать ее в качестве цели {if}:

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

Есть ли способ пропустить этот промежуточный шаг? Я хотел бы что-то вроде этого (не работает):

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

Я не могу найти примеры использования подобных объектов в документации Smarty.

1 Ответ

1 голос
/ 17 февраля 2010

Используйте assign_by_ref вместо register_object:

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

Затем вы можете получить доступ к методам:

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