меню

Что такое 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

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

Перенос MODX Revolution на хостинг или с домена на домен

Все, кто использует систему управления сайтом MODx Revolution сталкивались с проблемой переноса сайта на хостинг. В данной статье описан способ переноса сайта MODx Revo на хостинг.

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

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

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

MIGX это специальный тип дополнительных полей (TV), созданный для того чтобы объединить несколько разных TV в один. Такая система объединенных полей очень сильно упрощает администрирование сайта, когда есть необходимость заполнять много информации.

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

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