меню

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

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

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

Сниппет для построения навигации в стиле хлебных крошек. Хорошо заменяет сниппет BreadCrumb в MODx, работает с документами из любых контекстов и позволяет указывать различные условия для выборки ресурсов.

MODx Revo - поиск по сайту SimpleSearch modx

Для создания поиска по сайту необходимо установить пакет SimpleSearch. Затем в ресурсах создаем ресурс ПОИСК и вписываем туда [[!SimpleSearch]]. Запоминаем id этого ресурса, это страница вывода результатов поиска. В шаблон где находится сама форма поиска вставляем следующий код: [[!SimpleSearchForm? &landing=`1` &tpl=`MySForm`]]

Как создать карту сайта в MODX Revo

Для создания карты сайта sitemap в MODx Revolution (Revo), можно воспользоваться дополнением GoogleSiteMap. Вся процедура установки достаточно проста и займет не более 10 минут.

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

Сниппет предназначен для вывода списка ресурсов. Является продвинутой заменой для getResources: обладает всеми его возможностями, но лишен недостатков. Умеет правильно сортировать ТВ параметры, присоединять таблицы при выборке, включать и исключать категории из разных контекстов и еще много чего.