Документация Smarty


Глава 7. Встроенные функции

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

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

capture

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

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

Команда capture поддерживает вложенность.

Предостережение

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

Пример 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}

Пример 7-2. сохранение содержимого в переменную

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

{capture name=some_content assign=popText}
The server is {$smarty.server.SERVER_NAME|upper} at {$smarty.server.SERVER_ADDR}<br />
Your ip is {$smarty.server.REMOTE_ADDR}.
{/capture}

<a href="#" {popup caption='Server Info' text=$popText}>help</a>

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

SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…