Get Smarty

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:

Check reviews of PHP Web Hosting, compatible with Smarty Templates

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 1 plus 5? (Are you human?)

Sponsors [info]

Cheap Website Hosting @hostdone.com
Cheap Hosting @HostsVault
email marketing @ActiveCampaign
broadband deals @BroadbandGenie
Best UK Web Hosting @webhost.uk.net
Reliable UK and US Web Hosting @rshosting.com
Cheap US and UK Web Hosting @infrenion.com
I.T Certification Exams @pass-guaranteed.com
Certification Practice Tests @firsttrycertify.com
Certification Practice Exam Questions @ace-it-certifications.com
Broadband Speed Test @broadbandspeed.co.uk
bulk email software @americaint.com