0

Шаблонизатор

Шаблонизатор использует следующие теги <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>