@alpwe

Modx. Не работает фильт вывода полей Migx, в чем может быть причина?

Ребята, помогите пожалуйста!
Использую MIGX
TV имее 3 поля title, filde1, filde2
Параметры ввода filde1, filde2 — «inputTVtype»:«number»

Вызваю сниппет
[[getImageList?
	 &tvname=`test_price`
	 &tpl=`bani_price`
	 &limit=`3`
	 &docid=`[[+id]]`
]]


Шаблон-чанк bani_price выгдядит так
[[+filde2:ifempty=`
	 [[+filde1:ifnotempty=`<span>[[+filde1]]</span>`:else=`<span>текст</span>`]]
`:else=`
	 <span>[[+filde1]]</span><span>[[+filde2]] </span>
`]]


Но условия не отрабатывают выводится только filde2,

хотя в ресурс внесены данные:
стр 1 = title filde1 filde2
стр 2 = title filde1
стр 3 = title

И нужно добиться следующего вывода
стр1 = title filde1 filde2
стр2 = title filde1
стр3 = title текст

Может дело во мне?

p.s.
Причем не отрабатывает вложенное условие, но стоит убрать вызов поля из вложенного условия как все отрабатывает корректно.
Т.е.
[[+filde2:ifempty=`
	 [[+filde1:ifnotempty=`<span>тест1</span>`:else=`<span>текст</span>`]]
`:else=`
	 <span>[[+filde1]]</span><span>[[+filde2]] </span>
`]]
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@alpwe Автор вопроса
Случайно решил задачку...
Нужно было при выводе поля во внутреннем условии добавить :this и все отобразилось как нужно.
Немного переписал чанк, но по сути тоже самое.

[[+filde2:isgt=`1`:then=`<span>[[+filde1]]</span><span>[[+filde2]]</span>`
	:else=`[[+filde1:isgt=`1`:then=`<span>[+filde1:this]]</span>`:else=`текст`]]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
himuro
@himuro
Full stack web developer
Странно...Сейчас нет возможности проверить и подсказать что-то еще... У вас filde1 и filde2 числовые типы, сложно сказать сейчас наверняка, но попробуйте :isequalto=``:then=``:else=`` вместо модификаторов ifempty / ifnotempty
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
23 июл. 2019, в 23:31
9000 руб./за проект
23 июл. 2019, в 22:14
18000 руб./за проект
23 июл. 2019, в 20:31
500 руб./за проект