IF MODX Revolution. IF обработка условий MODX Revolution
Под час работы с MODxRevolution, в случае если быть более точным, под час создании шаблонов, зачастую возникает надобность прибавления всевозможных условий и вычислений на лету. К примеру, считается ли эта страничка Главной либо страничкой Контактов, в случае если да, то вывести ссылку Карта сайта. Либо для интернета магазина, в случае если для документа предписано значение TV-параметра с размером скидки, то вывести вместо обыкновенной стоимости товаров, стоимость со скидкой.
Для обработки условий в MODx’е имеется типичный сниппет If, который скачивается посредством менеджер пакетов, приведу перевод мануала сrtfm.modx.com
СниппетIf вызвается с применением тега:
<code>[[If]]</code>или же, в случае, когда ваш Основной параметр (subject) может поменяться до того, как обновится кэш ресурса:
<code>[[!If]]</code>Доступные характеристики
Имя Описание Значение по умолчанию
<code>subject Основной параметр, значение над которым исполняются условия operator Оператор для с сопоставления с основным параметром = operand Операнд, в случае если нужен — значение, которое нужно сопоставить с основным параметром, применяя Оператор then Вывести данное, в случае если результат сопоставления: true else Вывести данное, в случае если результат сопоставления: false debug В случае если true, вывести все подвергнутые обработке параметры 0 die В случае если debugand данный параметр true, исполнить die() после вывода всех параметров 0</code>
Доступные операторы
Оператор Описание
<code> !=,neq,not,isnot,isnt,unequal,notequal Исполняется в случае если Основной параметр не равняется Операнду. ==,=,eq,is,equal,equals,equalto Исполняется в случае если Главный параметр равняется Операнду. <,lt,less,lessthan Исполняется в случае если Главный параметр менее Операнда. >,gt,greater,greaterthan Исполняется в случае если Основной параметр более Операнда. <=,lte,lessthanequals,lessthanorequalto Исполняется в случае если Главный параметр менее, или равен Операнду. >=,gte,greaterthanequals,greaterthanequalto Исполняется в случае если Главный параметр более, или равен Операнду. isempty,empty Исполняется в случае если Главный параметр пустой. !empty,notempty,isnotempty Исполняется в случае если Главный параметр не пустой. isnull,null Исполняется в случае если Главный параметр располагает значением null. inarray,in_array,ia Исполняется в случае если Главный параметр есть в списке перечисленном через запятую в Операнде.</code>
Примеры
Цифровое сопоставление:
<code> [[!If? &subject=`[[+total]]` &operator=`GT` &operand=`3` &then=`У вас более нежели 3 штуки!`]]</code>
Строковое сопоставление:
<code>[[!If? &subject=`[[+name]]` &operator=`EQ` &operand=`George` &then=`Hey George! Long time no see!` &else=`You’re not George. Goaway.` ]]</code>
Встроенный вызов сниппета:
<code>[[!If? &subject=`[[+modx.user.id]]` &operator=`EQ` &operand=`0` &then=`[[Login]]` &else=`[[Logout]]` ]]</code>
Проверка поля ресурса либо TV-параметра (либо всякого иного значения, которое не изменится до обновления кэша ресурса) под час вызова сниппетаIf, удостоверьтесь, что применяете кэшируемый вызов сниппета для проверки условия, для того чтобы не было надобности исполнять эту проверку при любом запросе.
Услуги по MODX Revolution
Посмотреть все услуги
Оптимизация сайта
Подробнее & Заказать
Создание сайта на MODX Revolution
Подробнее & Заказать
Перенос сайта на MODX Revolution
Подробнее & Заказать
Комментарии ()