====== Базовый синтаксис языка шаблонов Smarty ====== Все тэги шаблонов Smarty располагаются между специальными разделителями { и }. Все содержимое вне разделителей Smarty отображает как статическое содержание, без изменений. Когда Smarty встречает свои тэги, то пытается интерпретировать их и вывести вместо них соответствующий результат. ===== Комментарии ===== Комментарии в шаблонах заключаются в звездочки (*) окруженные . разделителями, например: {* это комментарий *}. Комментарии не отображаются в выводе шаблона. Они используются для внутренних примечаний в шаблонах. {* шаблон Smarty *} {* подключаем шапку шаблона *} {include file="header.tpl"} {* выпадающий список *} ... ===== Функции ===== Каждый тэг Smarty либо выводит значение [[smarty:smarty2|переменной]], либо вызывает некоторую функцию. Для вызова функции нужно название функции и ее параметры заключить в разделители, например: {funcname attr1="val" attr2="val"}. {include file="header.tpl"} {if $highlight_name} Welcome, {$name}! {else} Welcome, {$name}! {/if} {include file="footer.tpl"} ===== Параметры ===== Большинство функций принимает параметры, которые уточняют или изменяют ее поведение. Параметры в Smarty очень похожи на параметры в HTML. Не обязательно заключать статические значения в кавычки, хотя текст рекомендуется заключать в кавычки. Переменные также могут быть использованы в качестве параметров, и не должны заключаться в кавычки. Некоторые параметры принимают логические значения (правда или ложь). Они могут быть указаны словами true или false. {include file="header.tpl"} {html_select_date display_days=true} ... ===== Внедренные переменные в двойных кавычках ===== 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:smarty2|Следующая глава]].