mFilter2: Не работает фильтрация при нескольких значения where
Здравствуйте, задача: нужно фильтровать товары, которые выводятся только при заполненности любого из ряда полей.
В итоге если я указываю, только один параметр
А если я указываю несколько параметров (всё через OR, должно быть заполнено любое из них)
Возможно, у меня какая-то ошибка в JSON, хотя валидатор молчит, или выборку можно сделать как-то иначе, не через where.
В итоге если я указываю, только один параметр
&where=`{"Data.price:>":0}`
то всё работает, и выводит и фильтрует.А если я указываю несколько параметров (всё через OR, должно быть заполнено любое из них)
&where=`{"Data.price:>":0,"OR:Data.year_production:>":0,"OR:Data.made_in:!=":"","Data.manufacturer_company:!=":""}`
то нужные товары также выводит, но уже фильтрация не работает, жму на фильтры, результаты обновляются, но выводит также весь список как будто фильтры не нажимал.Возможно, у меня какая-то ошибка в JSON, хотя валидатор молчит, или выборку можно сделать как-то иначе, не через where.
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`2`
&limit=`0`
&where=`{"Data.price:>":0,"OR:Data.year_production:>":0,"OR:Data.made_in:!=":"","Data.manufacturer_company:!=":""}`
&sort=`ms|vendor:asc,resource|menuindex:asc`
&tpl=`ns-dashboards.tovar-table-row.tpl`
&tplOuter=`ns-dashboards.mFilter2.outer.tpl`
&filters=`
ms|vendor:vendors,
ms|product_type:default,
ms|product_status_2:boolean,
ms|yadirect:boolean,
ms|waiting:boolean,
ms|manager_comment:boolean
`
]]
Комментарии: 1
Собственно пока писал пост, пришла идея костыльного решения, отдельным выводом записать в плейсхолдер id отобранных товаров и их передать в фильтр и так всё работает, но пост решил опубликовать, вдруг кому пригодится, или кто-то может предложит решение лучше)
Вот так у меня получилось решить задачу:
Вот так у меня получилось решить задачу:
[[-Получаем ID товаров для выборки (where) и формируемх их в плейсхолдер для передачи в фильтр]]
[[!msProducts?
&parents=`2`
&limit=`0`
&tpl=`@INLINE [[+id]],`
&where=`{"Data.price:>":0,"OR:Data.year_production:>":0,"OR:Data.made_in:!=":"","Data.manufacturer_company:!=":""}`
&toPlaceholder=`products-to-filter`
]]
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&resources=`[[+products-to-filter]]`
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.