Вывод товаров с определенным цветом
Вывод товаров определенного цвета:
[[!msProducts?
&parents=`0`
&innerJoin=`{"Options":{"class":"msProductOption"}}`
&groupby=`msProduct.id`
&where=`{"Options.key":"color","Options.value:IN":["Белый","Белая"]}`
]]
Вывод товаров с нужным именем файла-изображения:[[!msProducts?
&parents=`0`
&innerJoin=`{"msProductFile":{"alias":"File","on":"msProduct.id = File.product_id"}}`
&groupby=`msProduct.id`
&where=`{"File.name:LIKE":"%IMG_0049%"}`
]]
Не больше 2х LIKE, если не знаешь точного имени:&where=`{"File.name:LIKE":"%file1%","OR:File.name:LIKE":"%file2%"}`
или сколько угодно в IN, если знаешь:&where=`{"File.name:IN":["file1.jpg","file2.jpg"]}`
Комментарии: 23
Разобрался. Дело было в скобках. :)
так уж написал бы как правильно то для истории…
&where=`{«Data.color»: Венге}`
Что-то я подзабыл, как через OR выводить несколько значений.
Как выяснилось — ответ не найден. Если есть, что подсказать — добра вам и благодарностей. :)
У меня такая же проблема. Почему-то where в сниппете mfilter2 не применяется.
Тут нужен Василий. :)
Отцы, не проходите мимо. Расскажите как добиться результата. ''
Запрос, который по-идее должен работать — не работает:
&where=`[[{"Data.color:LIKE":"%Белая%", "OR:Data.color:LIKE":"%Белый%"]]}`
Ну так JSON то написан с ошибкой — проверяй bezumkin.ru/utils/json
дак даже если без ошибки у него разъве получится выбрать — "%Белая%"?
Получится, там же строка с JSON.
Но правильнее, конечно, так:
Но правильнее, конечно, так:
[[!msProducts?
&parents=`0`
&innerJoin=`{"Options":{"class":"msProductOption"}}`
&groupby=`msProduct.id`
&where=`{"Options.key":"color","Options.value:IN":["Белый","Белая"]}`
]]
Спасибо, Василий. За инструмент — что-то позабыл про него. И за пример — сам бы не додумался. Василий, подскажи еще один момент — используя присоединение таблиц, можно построить более сложный запрос и искать в имени файлов по галерее изображений каждого продукта? И если да, как это сделать?
Заранее благодарен.
Заранее благодарен.
Найди 10 отличий с предыдущим примером.
[[!msProducts?
&parents=`0`
&innerJoin=`{"msProductFile":{"alias":"File","on":"msProduct.id = File.product_id"}}`
&groupby=`msProduct.id`
&where=`{"File.name:LIKE":"%IMG_0049%"}`
]]
Закинул спасибо.
На здоровье!
Спасаешь. :)
Василий, а как построить этот запрос по аналогии предыдущего — чтобы можно было выбирать сразу несколько имен файлов?
Или не больше 2х LIKE, если не знаешь точного имени:
Больше 2х LIKE использовать не получится, потому что иначе ключ массива «OR:File.name:LIKE» в условии будет повторяться и значение в нём — затираться.
&where=`{"File.name:LIKE":"%file1%","OR:File.name:LIKE":"%file2%"}`
или сколько угодно в IN, если знаешь:&where=`{"File.name:IN":["file1.jpg","file2.jpg"]}`
Больше 2х LIKE использовать не получится, потому что иначе ключ массива «OR:File.name:LIKE» в условии будет повторяться и значение в нём — затираться.
Понял. Спасибо еще раз!
А как сделать вывод такого же цвета, как у товара на странице?
Подскажите как, в вывод товаров подставить значение опции текущего товара.
Сниппет вывожу на странице товара.
Сниппет вывожу на странице товара.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.