Операторы ветвления


Операторы этого типа позволяют выводить заданные части шаблона в зависимости от значения выражения, расположенного в их правой части. В СT++ версии 1.7.5 есть два оператора ветвления: <TMPL_if ВЫРАЖЕНИЕ> и <TMPL_unless ВЫРАЖЕНИЕ>. Операторы <TMPL_if и <TMPL_unless вычисляют значение ВЫРАЖЕНИЯ и выполняют или не выполняют код, находящийся внутри них. Внутри операторов допустимо использование как переменных (локальных и глобальных), так и пользовательских функций.

Общий вид операторов ветвления следующий:
<TMPL_if ВЫРАЖЕНИЕ>
    Код, выполняющийся если условие истинно.
<TMPL_else>
    Код, выполняющийся если условие ложно.
</TMPL_if>

<TMPL_unless ВЫРАЖЕНИЕ>
    Код, выполняющийся если условие ложно.
<TMPL_else>
    Код, выполняющийся если условие истинно.
</TMPL_unless>


Ветка <TMPL_else> явлвется необязательной, то есть допускается следующая запись: <TMPL_if ВЫРАЖЕНИЕ> Код </TMPL_if>. Таким образом, оператор <TMPL_unless отличается от оператора <TMPL_if тем, что выполняет код, если условие ложно. Пример 2.1:

Шаблон: "Hello, <b><TMPL_var username></b>!<TMPL_else>Не задано имя пользователя!</TMPL_if>
Параметр: username => "Vasya"
Результат: "Hello, Vasya!"


Пример 2.2:

Шаблон: "<TMPL_if username>Hello, <b><TMPL_var username>!<TMPL_else>Не задано имя пользователя!</TMPL_if>
Параметр: не задан.
Результат: "Не задано имя пользователя!"


Для второго варианта условного ветвления картина будет прямо противоположной:

Пример 2.3:

Шаблон: "<TMPL_unless username>Hello, <b><TMPL_var username></b>!<TMPL_else>Не задано имя пользователя!</TMPL_unless>
Параметр: "Vasya"
Результат: "Не задано имя пользователя!"



Copyright © 2003 - 2005 CTPP Dev. Team | http://reki.ru/products/ctpp