msProducts. Выборка по нескольким опциям
Доброй ночи.
Пытаюсь сделать сложную выборку по группам доп. опций, пока что без особых успехов.
Между опциями должно быть условие «И», внутри каждой опции — «ИЛИ».
Делаю так:
Теперь добавляем вторую группу опций:
Как только во вторую группу добавляются условия, начинаются сложности.
Составляю такой JSON:
Буду благодарен за подсказки и варианты.
Пытаюсь сделать сложную выборку по группам доп. опций, пока что без особых успехов.
Между опциями должно быть условие «И», внутри каждой опции — «ИЛИ».
Делаю так:
&optionFilters=`{
"ps_target:LIKE": "Витрины и мебель",
"OR:ps_target:LIKE": "Ландшафт",
"OR:ps_target:LIKE": "Автомойки"
}`Все хорошо, в выборке товары, опция «ps_target» которых соответствует какому-либо из 3х значений.Теперь добавляем вторую группу опций:
&optionFilters=`{
"ps_target:LIKE": "Витрины и мебель",
"OR:ps_target:LIKE": "Ландшафт",
"OR:ps_target:LIKE": "Автомойки",
"AND:ps_type:LIKE": "Модульный"
}`ОК. Выбираются товары с любым из 3х значением ps_target и значением ps_type == Модульный.Как только во вторую группу добавляются условия, начинаются сложности.
&optionFilters=`{
"ps_target:LIKE": "Витрины и мебель",
"OR:ps_target:LIKE": "Ландшафт",
"OR:ps_target:LIKE": "Автомойки",
"AND:ps_type:LIKE": "Модульный",
"OR:ps_type:LIKE": "Ландшафтный",
"OR:ps_type:LIKE": "Карданный"
}`Не ОК. Выбираются товары с любым из 3х значением ps_target и значением ps_type == Модульный, которые также могут иметь вторым значением ps_type любое из оставшихся значений.Составляю такой JSON:
&optionFilters=`{
"ps_target:IN": [
"Витрины и мебель",
"Ландшафт",
"Автомойки"
],
"ps_type:IN": [
"Модульный",
"Ландшафтный",
"Карданный"
]
}`Результата нет, в выборке все товары. IN не работает с текстом?Буду благодарен за подсказки и варианты.
Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Вот такой вот запрос
Ошибки в логах modx те же, но теперь на сайте не отображаются результаты работы модифицированного сниппета msProducts — ни товаров, ни лога.
+, если какое в какой-то из опций не выбрано ни одного варианта, в логе modx добавились такие ошибки:
На следующие:
Решение «в лоб», но в условиях когда «еще вчера все должно было работать» годится.
по сути optionFilters подключает нужные таблицы и дает не противоречащие условия, а все остальное прописывает внутри where