Tv image условие
Добрый вечер!
Не получается вывести изображение (tv) с условием: если поле пустое то выводится альтернативное изображение, а если указана картинка то выводится она:
Пробовал так:
вызов:
и так пробовал:
а вот так выводится, но условия не прописываются необходимо указать альтернативное изображение:
Вывод tv image — по умолчанию
Указан источник файлов: basepath/url — assets/files/slider/
Не получается вывести изображение (tv) с условием: если поле пустое то выводится альтернативное изображение, а если указана картинка то выводится она:
Пробовал так:
вызов:
[[pdoResources?
&parents=`0`
&depth=`0`
&limit=`5` &includeTVs=`sl_annot,sl_bg,sl_active,sl_button,sl_img1,sl_img2,sl_img3,sl_img4,sl_img5,sl_img6,sl_img7,sl_title,sl_title_p,sl_type`
&where=`{"TVsl_active.value:!=":""}`
&tpl=`sl_slide`
]]
Чанк:[[If? &subject=`[[+tv.sl_bg]]` &operator=`notempty` &then=`[[+tv.sl_bg]]` &else=`/assets/tmpl/std/images/slider-layer/bg.jpg` ]]
не выводитсяи так пробовал:
[[+tv.sl_bg:is=``:then=`/assets/tmpl/std/images/slider-layer/bg.jpg`: else=`[[+tv.sl_bg]]`]]
не выводится, а с текстовыми полями работаета вот так выводится, но условия не прописываются необходимо указать альтернативное изображение:
[[+tv.sl_bg:notempty=`[[+tv.sl_bg]]`]]
В чем может быть дело? я наверное не правильно что то сделал?Вывод tv image — по умолчанию
Указан источник файлов: basepath/url — assets/files/slider/
Комментарии: 8
[[+tv.sl_bg:default=`/assets/tmpl/std/images/slider-layer/bg.jpg`]]
И можно попробовать в вызов добавить, чтобы пути от источника файлов подставлялся правильно
&prepareTVs=`sl_bg`
Благодарю!
Я что-то не особо проникся всей конструкцией, но у меня такое условие реализовано следующим способом
[[+image:empty=`/images/nophoto.jpg`]]
Вот все как просто)
Для таких случаев я бы порекомендовал воспользоваться «быстрыми плейсхолдерами». О них можно прочитать здесь: docs.modx.pro/components/pdotools/classes/pdotools
Они сами по себе дают приличный прирост скорости сайта, так и можно ещё больше разогнать сайт, если для них отключить prepareTVs и processTVs и в ручную прописывать базовый путь источника.
Они сами по себе дают приличный прирост скорости сайта, так и можно ещё больше разогнать сайт, если для них отключить prepareTVs и processTVs и в ручную прописывать базовый путь источника.
Кстати, а чем вариант непосредственно в настройках самой TV указать значение по умолчанию?
Сайтом в итоге не я буду пользоваться, пользователь может удалить значение, нечаянно, при редактировании)
Ну не знаю. Я ещё не сталкивался с тем, чтобы пользователь лез во вкладку элементы и редактировал тип ввода TV :-) ну и плюс, если так уж и надо это ему, то можно в том же clientConfig дать пользователю возможность менять.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.