tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT

Как написать условие в ModX?

мне нужно условие, если поле
[[*description]] пустое, то вывести [[*longtitle]], а если заполнено, то выводить [[*description]]

на php всё ясно, но тут вообще не могу разобраться
  • Вопрос задан
  • 1525 просмотров
Решения вопроса 1
ruslan_aleev
@ruslan_aleev
MODX с cat-Art.ru
Как вариант - делаете через модификаторы ввода-вывода, см. docs.modx.pro/system/the-basics/filters-input-and-...
Конкретно в вашем случае, как я понял, это для meta-тегов, то будет так:
[[*description:ne=``:then=`<meta name="description" content="[[*description]]"/>`:else=`<meta name="description" content="[[*longtitle]]"/>`]]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
65536
@65536
Ответ написан
Комментировать
@RGBPlus
Мне кажеться вот так будет по аккуратнее код:

<meta name="description" content="[[*description:ne=``:then=`[[*description]]`:else=`[[*longtitle]]`]]"/>
// или 
<meta name="description" content="[[*description:ne=``:then=`[[*description]]`:else=`[[*longtitle:default=`[[*pagetitle]]`]]`]]">

Зачем писать портянки?
Ответ написан
Комментировать
alex-1917
@alex-1917
Если ответ помог, отметь решением
Вдруг кто-то все еще не осилил азы и набредет сюда из гугла))
Можно еще удобнее:
[[*description:ne=``:then=`<meta name="description" content="[[*description]]">`:else=`<meta name="description" content="[[*longtitle:default=`[[*pagetitle]]`]]">`]]

Будет использовано одно из трех полей в порядке убывания приоритета:
  1. поле description
  2. поле longtitle
  3. поле pagetitle
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы