Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

MODX статьи, уроки и готовые решения для MODX Revo

Сайдбар

IF MODX Revolution. IF обработка условий MODX Revolution

09 нояб. 2012

Под час работы с 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, удостоверьтесь, что применяете кэшируемый вызов сниппета для проверки условия, для того чтобы не было надобности исполнять эту проверку при любом запросе.

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать