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!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Shop for 2018 World Cup Football Boots Online sale at guthjcc.com

Browse best 2018 world cup soccer cleats and shoes from SoccerAzteca.com

Advertisement

Chapter 7. Встроенные функции

В smarty включены несколько встроенных функций. Эти встроенные функции интегрированы в язык шаблонов. Нельзя создавать пользовательские функции с такими же названиями и вам не следует модифицировать встроенные функции.

Некоторые эти функции имеют атрибут assign, который помещает результати их выполнения в переменную шаблона, вместо вывода в браузер, практически как функция {assign}.

{capture}

{capture} используется для того, чтобы собрать результат обработки части шаблона между тэгами в какую-то переменную, вместо того, чтобы отобразить результат. Любое содержимое между {capture name='foo'} и {/capture} сохраняется в переменную, указанную в атрибуте name.

Захваченные данные могут в дальнейшем использоваться в шаблоне при помощи специальной переменной $smarty.capture.foo, где foo - значение, переданное атрибуту name. Если атрибут name не указан, то используется default, т.е. $smarty.capture.default.

Функция {capture} поддерживает вложенность.

Имя атрибута Тип Обязателен По умолчанию Описание
name string Нет default Имя блока для сохранения
assign string Нет n/a Имя переменной для сохранения результатов

Внимание

Будте осторожны, сохраняя результат команды {insert}. Если вы используете кэширование и в области кэширования встречаются команды {insert}, то не сохраняйте данный вывод.

Example 7.1. Сохранение вывода шаблона в указанный атрибут


{* мы не хотим отображать тэг div, если его содержимое не отображается *}
{capture name=banner}
  {include file='get_banner.tpl'}
{/capture}
{if $smarty.capture.banner ne ''}
<div id="banner">{$smarty.capture.banner}</div>
{/if}

   


Example 7.2. Сохранение содержимого в переменную

Этот пример также демонстрирует функцию {popup}


{capture name=some_content assign=popText}
Имя сервера: {$smarty.server.SERVER_NAME|upper}<br />
Адрес сервера: {$smarty.server.SERVER_ADDR}<br />
Ваш IP: {$smarty.server.REMOTE_ADDR}.
{/capture}

<a href="#" {popup caption='Информация о Сервере' text=$popText}>help</a>

   


См. также $smarty.capture, {eval}, {fetch}, fetch() и {assign}.

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 10 plus 19? (Are you human?)

Advertisement