Войти

Все для создания сайта

Начало » Статьи » UcoZ - сервисы » Общие вопросы

Условные блоки %IF%%ELSE%%ENDIF%.

Условные блоки позволяют выводить (обрабатывать) или не выводить (не обрабатывать) участок шаблона в зависимости от истинности или ложности различных условий, применяемых к значениям специальных переменных (таких как $GROUP_ID$). Условный блок начинается конструкцией '%IF()%' и заканчивается оператором '%ENDIF%'. Допускаются вложения условных блоков друг в друга.

Синтаксис условных блоков следующий:

%IF($VARNAME$[условия])%истинный_код[%ELSE%ложный_код]%ENDIF%

[ ] – (квадратные скобки) указывают на допустимость отсутствия элемента синтаксиса (вводить их не нужно).
$VARNAME$ - название специальной переменной, к значению которой будет применено условие.
истинный_код – HTML-код, выводимый при истинности указанного условия (может полностью отсутствовать, если необходима только проверка на ложность).
ложный_код – HTML-код, выводимый при ложности указанного условия (может полностью отсутствовать вместе с оператором '%ELSE%', если необходима только проверка на истинность).
условия – условия, применяемые к значению переменной. Допускается до 5 условий, разделенных вертикальной чертой '|', максимальная общая длина – 80 символов. Если условия не указаны, то выполняется проверка значения на истинность*. Синтаксис следующий:

[код_операции]операнд[|[код_операции]операнд[|[код_операции]операнд[|...]]]

операнд – второй операнд в операции. Может быть пустым, может содержать любые символы, кроме обратного слеша '\'. Вертикальная черта '|' и закрывающая круглая скобка ')' могут быть записаны как '\|' и '\)' соответственно.
код_операции – символ, определяющий вид операции сравнения:

= - полное совпадение значения с операндом (строковое сравнение с учетом регистра);
! - несовпадение значения с операндом (отрицание строкового сравнения с учетом регистра);
~ - совпадение начала значения с операндом (строковое сравнение с учетом регистра первых L символов значения, где L – длина операнда);
> - значение численно больше операнда (численное сравнение целых или дробных десятичных чисел);
< - значение численно меньше операнда (численное сравнение целых или дробных десятичных чисел);

Если код_операции отсутствует (не равен ни одному из перечисленных выше символов) и операнд не пустой, то подразумевается операция '=' (учтите, что список операций может быть расширен, поэтому лучше всегда явно указывать '='). Если отсутствует и код_операции, и операнд, то производится проверка значения на истинность*.

* Значение считается ложным (не истинным), если оно пустое или равно '0' (т.е. '4', 'Hello', '#%B', '00' или '0.0' считаются истинными).

Примеры:
1)
Вы %IF($USER_LOGGED_IN$)%зашли как "$USERNAME$"%ELSE%не выполнили вход%ENDIF%.
выведет (подставив значение $USERNAME$)
Вы зашли как "$USERNAME$".
если $USER_LOGGED_IN$ истинна, или иначе
Вы не выполнили вход.
2)
%IF($USERNAME$=Hacker|=bad_boy|~anti)%Пошел прочь, $USERNAME$!!!%ENDIF%
выведет (подставив значение $USERNAME$)
Пошел прочь, $USERNAME$!!!
если $USERNAME$ совпадает с 'Hacker' или 'bad_boy', или начинается на 'anti'.
3)
%IF($POSTS$>50)%***%ELSE%%IF($POSTS$>10.0)%**%ELSE%*%ENDIF%%ENDIF%
выведет '***', если $POSTS$ больше 50, '**', если больше 10 и меньше-равно 50, и '*', если меньше-равно 10.


Источник: http://ucoz3.ucoz.ru/IFELSE.htm
Категория: Общие вопросы | Добавил: design (25.02.07) | Автор: Из документации.
Просмотров: 5483 | Комментарии: 1 | Рейтинг: 4.3 |
Комментарии
Всего комментариев: 1
1 16.06.08, 13:20 от _indemion_
куда их вписывать я так и не разобрался =(((
Ответ: Это вписывать необходимо в код шаблона, в панели управления. То, что в страницах находится - это код, который система потом пропускает через свой анализатор и выдает на запрос пользователя при вызове вот этой вот страници. Так вот анализатор - умный, он понимает, если Вы ему укажете условные операторы - скажем, если так, то выводи это, если иначе, то вот это. Это язык, которым Вы все это говорите - вдумайтесь, это просто. Один раз понять и представить нужно.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]