Условие для товаров с меткой favorite MiniShop2
Подскажите пожалуйста.
Как реализовать условие в MiniShop2: если есть хоть один товар с меткой «favorite» тогда выводим заголовок и блок с такими товарами, если нет таких товаров, ничего не выводим?
Как реализовать условие в MiniShop2: если есть хоть один товар с меткой «favorite» тогда выводим заголовок и блок с такими товарами, если нет таких товаров, ничего не выводим?
Комментарии: 15
{$_modx->runSnippet('!msProducts', [
'parents' => 'XXX',
'where' => '{"Data.favorite":"1"}',
'toPlaceholder' => 'result',
'returnIds' => '1'
])}
{if $_modx->getPlaceholder('result')}<p>заголовок и блок,здесь еще один вызов pdoresources с шаблонами и иными параметрами</p>{/if}
Спасибо! А то же самое без Fenom?
[[!msProducts?&parents=`xxx`&where=`{"Data.favorite":"1"}`&toPlaceholder=`result`&returnIDs=`1`]]
[[+result:ne=``:then=`<p>заголовок и блок,здесь еще один вызов pdoresources с шаблонами и иными параметрами</p>`]]
заголовок и блок, здесь еще один вызов pdoresources с шаблонами и иными параметрамит.е. + еще один вызов? Не надо так. Лучше как раз со всеми чанками и просто проверить плейсхолдер
Можете пример привести?
@Баха Волков конечно, спасибо за рефакторинг!
[[!msProducts?&parents=`xxx`&where=`{«Data.favorite»:«1»}`&toPlaceholder=`result`&tpl=`tpl`]]
[[+result:ne=``:then=`заголовок [[+result]]`]]
Спасибо братья! Все работает!
Антон, подскажи пожалуйста, эта строчка ( &returnIDs=`1` ) что дает?
из справки:
&returnIds Установите значение «1», чтобы вернуть строку со списком id ресурсов, вместо оформленных результатов. Все указанные шаблоны игнорируются.
Если не трудно, поясни пожалуйста, зачем вместо оформленных результатов, возвращать строку со списком id ресурсов?
я несколько ошибся, прочитав невнимательно, а Баха поправил… но идея была такая: чтобы не делать полный вывод, можно «быстро» проверить, есть/нет, а если есть — вывести по всей форме.
То есть этот параметр можно не прописывать?
да
Спасибо. Извини за расспросы, недавно с ModX работаю…
Спасибо большое!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.