Практически во всех языках программирования встречаются функции ветвления, которые также называются условными операторами. Речь идет о конструкции if...else, позволяющей задавать разные условия выполнения блоков программы. В шаблонах Smarty тоже встречаются эти операторы, но в виде функций {if}, {else}, {elseif} и {/if}. Общий синтаксис следующий.
{if условие1} При выполнении условия 1 отображать данный блок. {elseif условие 2} При выполнении условия 2 отображать данный блок. {else} Если вышеприведенные условия не выполнены, то выводить этот блок. {/if}
При необходимости функции {elseif} и {else} можно опустить.
Под условием подразумевается набор некоторых логических факторов, которые могут быть выполнены или нет. Например, проверка того, ввел ли пользователь требуемый текст.
Простое условие имеет следующий вид: {if $ok}. Оно выполняется, если переменная $ok существует и не равна нулю. Однако в большинстве случаев недостаточно просто проверить, есть переменная или нет. Как правило, требуется сравнивать значения между собой, определять больше или меньше значение определенного числа и проделывать другие арифметические операции. Для этой цели применяются квалификаторы вроде >,
В табл. 1 приведены наиболее распространенные квалификаторы, применяемые в условиях.
Табл. 1. Квалификаторы
Квалификатор Синоним Пример Описание
> gt {if $num > 5} Больше
== eq {if $smarty.get.sec == 'edit'} Равно
!= ne {if $smarty.get.print != 1} Не равно
>= gte, ge {if $num >= 0} Больше или равно
! not {if !$existTheme} Логическое НЕ
|| {if $smarty.get.sec == 'add' || !$smarty.get.sec} Логическое ИЛИ
&& {if ($smarty.get.id && $okmsg) || !$smarty.get.id} Логическое И
В примере 1 продемонстрировано использование операторов ветвления для выделения текущего пункта меню на сайте.
В данном примере проверяется, равняется ли значение параметра id, полученное по методу GET, текущему значению переменной course_id, выбранной из базы данных. В случае если они равны, пункт меню помечается классом curnav. А иначе пункт меню делается ссылкой на соответствующий раздел сайта.
Логические И, ИЛИ обычно применяются для проверки сразу нескольких условий. Например, требуется установить, что пользователь ввел свой возраст в пределах от 16 до 90 лет. Условие при такой постановке будет следующим (пример 2).
Пример 2. Использование логического И
{if $smarty.get.old >= 16 && $smarty.get.old <= 90} Возраст указан в нужном диапазоне {else} Возраст указан неверно
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Vlad
Практически во всех языках программирования встречаются функции ветвления, которые также называются условными операторами. Речь идет о конструкции if...else, позволяющей задавать разные условия выполнения блоков программы. В шаблонах Smarty тоже встречаются эти операторы, но в виде функций {if}, {else}, {elseif} и {/if}. Общий синтаксис следующий.
При необходимости функции {elseif} и {else} можно опустить.
Под условием подразумевается набор некоторых логических факторов, которые могут быть выполнены или нет. Например, проверка того, ввел ли пользователь требуемый текст.
Простое условие имеет следующий вид: {if $ok}. Оно выполняется, если переменная $ok существует и не равна нулю. Однако в большинстве случаев недостаточно просто проверить, есть переменная или нет. Как правило, требуется сравнивать значения между собой, определять больше или меньше значение определенного числа и проделывать другие арифметические операции. Для этой цели применяются квалификаторы вроде >,
В табл. 1 приведены наиболее распространенные квалификаторы, применяемые в условиях.
Табл. 1. Квалификаторы
Квалификатор Синоним Пример Описание
> gt {if $num > 5} Больше
== eq {if $smarty.get.sec == 'edit'} Равно
!= ne {if $smarty.get.print != 1} Не равно
>= gte, ge {if $num >= 0} Больше или равно
! not {if !$existTheme} Логическое НЕ
|| {if $smarty.get.sec == 'add' || !$smarty.get.sec} Логическое ИЛИ
&& {if ($smarty.get.id && $okmsg) || !$smarty.get.id} Логическое И
В примере 1 продемонстрировано использование операторов ветвления для выделения текущего пункта меню на сайте.
В данном примере проверяется, равняется ли значение параметра id, полученное по методу GET, текущему значению переменной course_id, выбранной из базы данных. В случае если они равны, пункт меню помечается классом curnav. А иначе пункт меню делается ссылкой на соответствующий раздел сайта.
Логические И, ИЛИ обычно применяются для проверки сразу нескольких условий. Например, требуется установить, что пользователь ввел свой возраст в пределах от 16 до 90 лет. Условие при такой постановке будет следующим (пример 2).
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.