Как вызвать переменную шаблона в модификаторе вывода в Modx? - PullRequest
0 голосов
/ 06 июля 2019

Я пытаюсь вызвать переменную шаблона внутри оператора if в ModX, но это не дает вывода. Я использую ModX Revo 2.7.0, тип ТВ - форматированный текст, а шаблон используется расширением PdoPage.

У меня есть несколько страниц со ссылками на статьи, и смысл в том, чтобы выводить содержимое переменной шаблона только на первой странице, а не на других

Это не дает вывода

[[!#get.page:is=`1`:or:is=``:then=`[[*content]]`:else=``]

Это выводит «да» на первой странице и «нет» на любой другой

[[!#get.page:is=`1`:or:is=``:then=`yes`:else=`no`]]

Телевизор не пустой (это дает вывод)

[[*content]]

Я даже пробовал это, но это также не дало результата. Поэтому я думаю, что проблема не в состоянии

[[!#get.page:is=`1`:or:is=``:then=`[[*content]]`:else=`[[*content]]`]

Я также попытался создать чанк, который будет вызывать тв, и выводить чанк вместо тв. Но это также ничего не выводит. Я думаю, это потому, что кусок не может получить доступ к телевизору.

Я немного новичок в ModX, так что, может быть, я просто упускаю что-то важное

Любая помощь приветствуется, спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 24 июля 2019

`or:is=` соответствует пустому состоянию. Если это не сделано преднамеренно, вы сможете удалить его. Кроме того, `:else=`` является состоянием по умолчанию, поэтому вам это тоже не нужно.

Следующее должно работать, и у вас будет более чистый код:

[[!#get.page:is=`1`:then=`[[*content]]`]]
0 голосов
/ 19 июля 2019

На самом деле в вашем случае отсутствует двойная угловая скобка "]]"

[[!#get.page:is=`1`:or:is=``:then=`[[*content]]`:else=``]]
...