Не работает &where
Имеется такой код
Подскажите пожалуйста, в чём может быть проблема?
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`[[*id]]`
&where=`{"postavka:>":0}`
&showLog=`1`
]]
где postavka, опция товара, есть товары, у которых значение > 0, но условие where не выполняется. При этом если вместо &where поставить &optionFilters, то работает как нужно. Но &optionFilters мне нужен для другого. &showLog ничего не выводит.Подскажите пожалуйста, в чём может быть проблема?
Комментарии: 5
&where=`{"msProductOptions.postavka:>":0}`
тоже не работает
Как то сталкивался, мне помогло вот это — msProducts. Выборка по нескольким опциям.
это помогло, спасибо большое
есть ещё вопрос, можно ли сделать параметры с условием, например,
Вопрос, работают ли вообще условия для параметров?
есть ещё вопрос, можно ли сделать параметры с условием, например,
if переданный параметр then (postavka>0 и count_n>переданный параметр)
else (postavka>0 и count_n>0)
пробовал через конструкцию IF, но не работает, или может неправильно что-то делаю.Вопрос, работают ли вообще условия для параметров?
Такое проще через Fenom сделать. В зависимости от параметра формировать переменную с нужным фильтром. Т.к. неизвестно откуда берётся параметр, приведу пример для получения из GET:
И потом передавать его в сниппет:
По идее должно работать.
{if $.get['param']}
{var $param = "здесь формируем нужный where запрос с переданным параметром"}
{else}
{var $param = "здесь дефолтный where запрос"}
{/if}
И потом передавать его в сниппет:
{'!mFilter2' | snippet : [
....
'where' => $param,
....
]}
По идее должно работать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.