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

Последний раз ты посещал нас {$lastLoginDate}. ===== Ассоциативные массивы ===== Чтобы использовать переменную из ассоциативного массива, надо указать ключ элемента после знака '.' (точка). {$contacts.fax}
{$contacts.email}
{$contacts.phone.home}
{$contacts.phone.cell}
В рамках A.CMS - этот способ наиболее часто используется. Подробные описания по доступным переменным для типов шаблонов, смотрите в [[:modules|руководствах модулей]]. ===== Индексированные массивы ===== Можно использовать переменную из массива по е индексу. Синтаксис аналогичен PHP. {$Contacts[0]}
{$Contacts[1]}
{* you can print arrays of arrays as well *} {$Contacts[2][0]}
{$Contacts[2][1]}
===== Объекты ===== Чтобы использовать свойства обьектов, надо указать перед именем атрибута знак `->'. имя: {$auth->data.name}
email: {$auth->data.email}
===== Зарезервированная переменная {$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}. Смотрите раздел [[smarty:smarty4#capture|capture]] для примера. ==== {$smarty.section}, {$smarty.foreach} ==== Переменная {$smarty} может быть использована для использования свойств структур 'section' и 'foreach'. Смотрите разделы по [[smarty:smarty4#section,sectionelse|section]] и [[smarty:smarty4#foreach,foreachelse|foreach]]. ==== {$smarty.template} ==== Эта переменная содержит имя текущего шаблона. [[smarty:smarty3|Следующая глава]].