Переменные в языке шаблонов Smarty

Переменные в Smarty могут быть отображены или использованы как аргументы функций и модификаторов, внутри выражений условных операторов и т.д. Для вывода значения переменной надо просто указать между разделителями имя переменной.

Привет {$firstname}, мы рады снова тебя видеть.
<p>
Последний раз ты посещал нас {$lastLoginDate}.

Ассоциативные массивы

Чтобы использовать переменную из ассоциативного массива, надо указать ключ элемента после знака '.' (точка).

{$contacts.fax}<br>
{$contacts.email}<br>
{$contacts.phone.home}<br>
{$contacts.phone.cell}<br>

В рамках A.CMS - этот способ наиболее часто используется. Подробные описания по доступным переменным для типов шаблонов, смотрите в руководствах модулей.

Индексированные массивы

Можно использовать переменную из массива по е индексу. Синтаксис аналогичен PHP.

{$Contacts[0]}<br>
{$Contacts[1]}<br>
{* you can print arrays of arrays as well *}
{$Contacts[2][0]}<br>
{$Contacts[2][1]}<br>

Объекты

Чтобы использовать свойства обьектов, надо указать перед именем атрибута знак `→'.

имя: {$auth->data.name}<br>
email: {$auth->data.email}<br>

Зарезервированная переменная {$smarty}

Зарезервированная переменная {$smarty} используется для доступа к нескольким специальным переменным. Далее следует полный их список.

Переменные запроса

К переменным из таких массивов, как _GET, _POST, _COOKIES, _SERVER, _ENV и _SESSION, можно обращаться аналогично нижеприведенным примерам.

{* Вывод значения $page из URL (GET) http://www.domain.com/index.php?page=foo *}
{$smarty.get.page}
 
{* Вывод переменной "page" из формы (POST) *}
{$smarty.post.page}
 
{* Вывод значения cookie "username" *}
{$smarty.cookies.username}
 
{* Вывод переменное сервера "SERVER_NAME" *}
{$smarty.server.SERVER_NAME}
 
{* Вывод переменной окружения "PATH" *}
{$smarty.env.PATH}
 
{* Вывод переменной сессии "id" *}
{$smarty.session.id}
 
{* Вывод переменной "username" из объединенного массива get/post/cookies/server/env *}
{$smarty.request.username}

{$smarty.now}

К текущему timestamp можно обратиться через {$smarty.now}. Оно содержит число секунд с начала так называемой Эпохи (Epoch, 1 января 1970 года) и может быть передано прямо модификатору date_format для вывода текущей даты.

{* выводим текущее время и дату с помощью модификатора date_format *}
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}

Реализует доступ к константам PHP.

{$smarty.const._MY_CONST_VAL}

{$smarty.capture}

Доступ к выводу, сохраненному с помощью тэгов {capture}..{/capture}, можно получить используя переменную {$smarty}. Смотрите раздел capture для примера.

{$smarty.section}, {$smarty.foreach}

Переменная {$smarty} может быть использована для использования свойств структур 'section' и 'foreach'. Смотрите разделы по section и foreach.

{$smarty.template}

Эта переменная содержит имя текущего шаблона.

Следующая глава.

 
smarty/smarty2.txt · Последние изменения: 29.12.2014 11:16 (внешнее изменение)