Базовый синтаксис языка шаблонов Smarty

Все тэги шаблонов Smarty располагаются между специальными разделителями { и }.

Все содержимое вне разделителей Smarty отображает как статическое содержание, без изменений. Когда Smarty встречает свои тэги, то пытается интерпретировать их и вывести вместо них соответствующий результат.

Комментарии

Комментарии в шаблонах заключаются в звездочки (*) окруженные . разделителями, например: {* это комментарий *}. Комментарии не отображаются в выводе шаблона. Они используются для внутренних примечаний в шаблонах.

{* шаблон Smarty *}
 
{* подключаем шапку шаблона *}
{include file="header.tpl"}
 
{* выпадающий список *}
<select name=company>
{html_options values=$vals selected=$selected output=$output}
</select>
 
...

Функции

Каждый тэг Smarty либо выводит значение переменной, либо вызывает некоторую функцию. Для вызова функции нужно название функции и ее параметры заключить в разделители, например: {funcname attr1=«val» attr2=«val»}.

{include file="header.tpl"}
 
{if $highlight_name}
    Welcome, <font color="{$fontColor}">{$name}!</font>
{else}
    Welcome, {$name}!
{/if}
 
{include file="footer.tpl"}

Параметры

Большинство функций принимает параметры, которые уточняют или изменяют ее поведение. Параметры в Smarty очень похожи на параметры в HTML. Не обязательно заключать статические значения в кавычки, хотя текст рекомендуется заключать в кавычки. Переменные также могут быть использованы в качестве параметров, и не должны заключаться в кавычки.

Некоторые параметры принимают логические значения (правда или ложь). Они могут быть указаны словами true или false.

{include file="header.tpl"}
 
{html_select_date display_days=true}
 
<select name=company>
    {html_options values=$vals selected=$selected output=$output}
</select>
 
...

Внедренные переменные в двойных кавычках

Smarty распознает переменные, если они встречаются в строках, заключенных в двойные кавычки. Распознаются переменные, состоящие из чисел, букв, символов _,[,]. Если надо использовать другие символы для указания переменной (точка или →), то переменную необходимо заключить в обратные кавычки ``.

Пример синтаксиса:
{func var="test $foo test"}       <-- ищет $foo
{func var="test $foo_bar test"}   <-- ищет $foo_bar
{func var="test $foo[0] test"}    <-- ищет $foo[0]
{func var="test $foo[bar] test"}  <-- ищет $foo[bar]
{func var="test $foo.bar test"}   <-- ищет $foo (не $foo.bar)
{func var="test `$foo.bar` test"} <-- ищет $foo.bar

Практические примеры:
{include file="$tpl_name.tpl"} <-- заменит $tpl_name на ее значение
{cycle values="one,two,`$smarty.config.myval`"} <-- надо заключать в обратные кавычки

Следующая глава.

 
smarty/smarty1.txt · Последние изменения: 14.02.2018 13:00 (внешнее изменение)