Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Visit www.sport-kick.com for cheap soccer cleats, sneakers and Soccer Jerseys updates

Advertisement

{eval}

{eval} используется для обработки переменной, как шаблона. Можно использовать для таких вещей, как хранение шаблонных тэгов/переменных в переменной или в файлах конфигруации.

Если указан специальный атрибут "assign", то вывод тэга eval присваивается переменной, вместо отображения.

Имя атрибута Тип Обязателен По умолчанию Описание
var mixed Да n/a Переменная (или строка) для обработки
assign string Нет n/a Имя переменной, которой будет присвоен вывод

Техническое Замечание

Переменные шаблоны обрабатываются так же, как и обычные шаблоны. Они подвластны тем же правилам и ограничениям безопасности.

Техническое Замечание

Переменные шаблоны компилируются при каждом вызове, скомпилированные версии не сохраняются! Однако, если кэширование включено, вывод будет кэширован вместе с остальной частью шаблона.

Example 8.6. {eval}


#setup.conf
#----------
emphstart = <strong>
emphend = </strong>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}.

  

Шаблон:


{config_load file='setup.conf'}
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign='state_error'}
{$state_error}

  

Результат выполнения данного примера:


This is the contents of foo.
Welcome to Foobar Pub & Grill's home page!
You must supply a <strong>city</strong>.
You must supply a <strong>state</strong>.

  

Example 8.7. Другой пример использования {eval}

Отображает имя сервера (заглавными буквами) и IP-адрес. Переменная $str так же может быть результатом запроса к БД.


// php script
$str = 'The server name is {$smarty.server.SERVER_NAME|upper} '
       .'at {$smarty.server.SERVER_ADDR}';
$smarty->assign('foo',$str);

  

Шаблон:


    {eval var=$foo}

  

Comments
No comments for this page.

Advertisement