меню

Что такое IF?

Условный логический сниппет, обеспечивающий выполнение условных выражений в MODx

История создания

IF написан Джейсоно Ковардом (Jason Coward), известным как opengeek, и Шоном Маккормиком, известным как splittingred и опубликован 29 октября 2009.

Загрузка

Вы можете загрузить ПО с помощью менеджера MODx Revolution, используя Package Management, или из хранилища дополнений MODx.

Использование

Сниппет If может быть вызван с использованием тегов:

  
[[If]]
  

или, в случае, если объект может быть изменен до того, как кэш ресурса будет очищен, используйте не кэшируемый синтаксис:

  
[[!If]]
 

Доступные свойства IF

Имя Описание Значение "по умолчанию"
subject Параметр, над значением которого выполняются условия.  
operator Оператор сравнения с subject =
operand Используется при необходимости, значение для сравнения subject и operator.  
then Выводится, если состояние принимает значение true  
else Выводится, если состояние принимает значение false  
debug Если значение true, отображает все проверенные свойства 0
die Если прошло обработку debug и значение true, после отображения свойств вывести die(). 0

Доступные операторы IF

Оператор Описание
!=,neq,not,isnot,isnt,unequal,notequal Принимается если subject не равен operand
==,=,eq,is,equal,equals,equalto Принимается если subject равен operand
<,lt,less,lessthan Принимается если subject меньше operand.
>,gt,greater,greaterthan Принимается если subject больше operand.
<=,lte,lessthanequals,lessthanorequalto Принимается если subject меньше или равен operand
>=,gte,greaterthanequals,greaterthanequalto Принимается если subject больше или равен operand.
isempty,empty Принимается если subject без значения.
!empty,notempty,isnotempty Принимается если subject имеет значение.
isnull,null Принимается если subject равен 0
inarray,in_array,ia Принимается если subject найден в списке операндов (строковый параметр, разделитель - запятая)

Примеры IF

  
[[
  !If? 
 &subject=`[[+total]]` 
  &operator=`GT` 
 &operand=`3` 
 &then=`You have more than 3 items!`
]] 
  

Сравнение строк:

 
[[!If?
   &subject=`[[+name]]`
   &operator=`EQ`
   &operand=`George`
   &then=`Hey George! Long time no see!`
   &else=`You're not George. Go away.`
]]
 

Встраиваемый вызов сниппета

  
[[!If?
   &subject=`[[+modx.user.id]]`
   &operator=`EQ`
   &operand=`0`
   &then=`[[Login]]`
   &else=`[[Logout]]`
]]
  

При использовании сниппета IF для проверки поля ресурса или шаблонной переменной (или другого значения, не измененного до очистки кэша), убедитесь, что используете кэшируемый вызов сниппета для проверки состояния. Это нужно, чтобы быть уверенным, что этот процесс не нужен при каждом запросе.

 
[[If?
   &subject=`[[*hidemenu]]`
   &operator=`EQ`
   &operand=`1`
   &then=`This resource is not visible in the menu.`
   &else=`This resource shows up in the menu in spot [[*menuindex]].`
]]
 
Помощь сайту
ЮMoney:
4100 1180 7209 833
Карта Сбербанк:
2202 2080 6183 7127

Возможно, вам будет интересно

Документация по pdoPage

Сниппет pdoPage позволяет вывести результаты работы других сниппетов с разбивкой на страницы.

Создание страницы с ошибкой 404 в MODX Revolution

Для нормальной индексации содержимого сайта поисковыми системами крайне важно создать страницу с 404 ERROR.

Документация по getResources

MODX — getResources: описание и примеры использование. Сниппер без которого не обходится не одно создание сайте getResources. Чаще всего используется для создания списков вложенных ресурсов и групповых действий над ними.

Авторизация через соц.сети в MODX: hybridauth

Компонент MODX Revo Hybridauth позволяет регистрироваться пользователям на сайте через социальные сети и подгружать из них данных, а также объединять их в аккаунте.