Шаблонизатор
Шаблонизатор использует следующие теги <TMPL_VAR>, <TMPL_LOOP>, <TMPL_INCLUDE>, <TMPL_IF>, <TMPL_ELSE> и <TMPL_UNLESS>.
<TMPL_VAR>
Тег выглядит следующим образом: <TMPL_VAR NAME="имя_переменной">. Например: если мы хотим вывести где-нибудь в теле страницы переменную «title», то пишем следующий код:
<TMPL_VAR NAME="JCMS_Title">
Атрибуты <TMPL_VAR>
Атрибут ESCAPE
Позволяет изменить значение переменной перед тем как ее использовать в HTML-коде. Например, если Вам нужно вывести HTML-код, в котором содержатся запрещенные символы (кавычки, символ закрытия тега и т.д.), в текстовое поле мы используем параметр ESCAPE=HTML:
<input name="имя_поля" type="text" value="<TMPL_VAR ESCAPE="HTML" NAME="имя_переменной">">
Атрибут ESCAPE принимает следующие значения:
- HTML
Заменяет символы «&, ", ', <, >» их HTML-аналогами.
- JS
Экранирует символы «, ', ", , » используемы в JavaScript.
- URL
Заменяет некоторые символы их аналогами используемыми в URL.
- NONE
При этом значении атрибут ESCAPE не используется.
Атрибут DEFAULT
Данный атрибут задает значение переменной по умолчанию.
Например: <TMPL_VAR DEFAULT="0" NAME="имя_переменной">, выведет «0» в том случае, если переменной не задано никакого значения.
<TMPL_LOOP>
Тег выглядит следующим образом: <TMPL_LOOP NAME="имя_цикла_значений"> ... </TMPL_LOOP>. Тег используется для вывода цикла значений. Например, для вывода «хлебных крошек» используется цикл значений «jcms_navigation_loop»:
<TMPL_LOOP NAME="jcms_navigation_loop">
<a href="http://www.jcms.ru/<TMPL_VAR NAME="pagelink">"><TMPL_VAR NAME="title"></a>
</TMPL_LOOP>
Переменные <TMPL_LOOP>
Тег <TMPL_LOOP> позволяет пользоваться следующими константами:
- __first__
Равно истине, если это первая запись из цикла значений.
- __last__
Равно истине, если это последняя запись из цикла значений.
- __inner__
Равно истине, если это не первая и не последняя запись из цикла значений.
- __outer__
Равно истине, если это первая или последняя запись из цикла значений.
- __odd__
Равно истине, если это нечетная запись из цикла значений.
- __even__
Равно истине, если это четная запись из цикла значений.
- __counter__
Значение начиная с 1.
- __index__
Значение начиная с 0.
Например:
<TMPL_VAR NAME="__counter__">
<TMPL_INCLUDE>
Тег выглядит следующим образом: <TMPL_INCLUDE NAME="имя_файла.tpl">. Тег используется для включения другого шаблона, что позволяет не перегружать один шаблон лишним кодом. Например, для включения шаблона «Ошибка 404» используется следующий код:
<TMPL_INCLUDE NAME="No_Page.tpl">
<TMPL_IF>
Тег выглядит следующим образом: <TMPL_IF NAME="имя_переменной"> … </TMPL_IF>. Тег используется для включения какого-либо блока по значению переменной. Например, если значение переменной «no_page» не пустое, то будет выведено сообщение «Ошибка 404!»:
<TMPL_IF NAME="no_page">Ошибка 404!</TMPL_IF>
<TMPL_UNLESS>
Тег выглядит следующим образом: <TMPL_UNLESS NAME="имя_переменной"> … </TMPL_UNLESS>. Использование тега противоположное тегу <TMPL_IF>. Например, если значение переменной «no_page» пустое, то будет выведено сообщение «Ошибка 404!»:
<TMPL_UNLESS NAME="no_page">Ошибка 404!</TMPL_UNLESS>
<TMPL_ELSE>
Тег выглядит следующим образом: <TMPL_IF NAME="имя_переменной"> … <TMPL_ELSE> … </TMPL_IF>. Тег выводит альтернативное <TMPL_IF> значение. Например, если значение переменной «no_page» не пустое, то будет выведено альтернативное сообщение «Вывод текста…»:
<TMPL_IF NAME="no_page">
Ошибка 404!
<TMPL_ELSE>
Вывод текста…
</TMPL_IF>