Выборка товаров по свойствам в MS2 2.2.0
Приветствую!
Осваиваю свойства товаров в minishop 2.2.0 beta.
Не пойму, как сделать выборку по свойствам товара.
Тут написано:
Как правильно выборку сделать? Подскажите!
Осваиваю свойства товаров в minishop 2.2.0 beta.
Не пойму, как сделать выборку по свойствам товара.
Тут написано:
В сниппете msProducts добавлен параметр &optionFilters для фильтрации товаров по характеристикам. Он автоматически подключает нужные таблицы и дополняет указанное в &where. Пример:Делаю у себя так:
&optionFilters=`{“core_count:>”:4}`
[[!msProducts?
&tpl=`msProductRow.tpl`
&parents=`5`
&includeThumbs=`250x250`
&optionFilters=`{"ctrana:>":Россия}`
]]Но ничего не выводится.Как правильно выборку сделать? Подскажите!
Комментарии: 30
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Вот если нужно выбрать товары по нескольким свойствам:
то выводятся только те товары, у которых первое свойство совпадает. С классом 33 не выводятся.
Как быть?
Чтобы не создавать новую тему пишу здесь, вопрос тот же
Пробую фильтровать по опциям товара, которые создаются в настройках minishop2. Не плагинам!
Создал характеристику множественный список HDsizeTV с одним из вариантов 720p HD
и хочу фильтровать по этой характеристике
но ничего не выводит
Выбираю её
И всё работает
Судя по твоему SQL — ошибок нет, всё в порядке. Возможно, нужный товар находится в другой категории, попробуй указать &parents=`0`
P.S. Еще меня смущает у тебя строка в логе
Хотя в SQL и всё верно. Однако, в моей выборке указывается прямо опция
Возможно, у тебя старая версия pdoTools?
если указываю &parents=`0` выводит товар, но из абсолютно других разделов каталога, где я еще не устанавливал опции. Причем, я пробую задавать другие опции, а эти товары в большинстве своем повторяются.
строка в логе не изменилась
у меня minishop версии 2.3, может в этом дело?
Строка Added where condition стала такой же как в вашем примере, но по-прежнему не выводит товар, точнее, товар с указанными опциями из нужной категории.
Вот в таких вариантах optionFilters не работает, в отличии от where
(значения переменным $_modx->resource.key и $option присваиваются):
и
При указании точного значения, выборка работает. Например:
А в Fenom можно кодировать родной функцией:
Теперь ещё и здесь прочёл о ней.
Пробую:
То это превращает мою страницу в белый экран. Подскажите как правильно прописать optionFilters
Пытаюсь вывести вместо 11111 подставить значение опции «group» текущего товара: {$_modx->resource.group.0}
Но выборка пропадает.
Подскажите как правильно прописать вывод значения опции в optionFilters.
Сам по себе {$_modx->resource.group.0} — работает
Но почему {$_modx->resource.group.0} — не работает внутри параметра optionFilters?
И parents можно указать верхний уровень каталога, товары же не в корне сайта лежат, смысл перебирать всё от корня сайта.
Нюанс такой, что group всегда заполнен Т.е. на пустоту мы не можем group проверять.
И вот проблема возникает, если этот group только у текущего товара и больше ни у кого, сниппету нечего вывести и он выводит каталог с начала.
Я где встречал, парамерт, который выводит пустоту если в выборку ничего не попало, но не могу вспомнить где =)
Осталось научиться в fonom это изобразить
minishop2 2.8.0-pl (на 2.7.0 также работает), pdoTools 2.12.9-pl.
Включай showLog, и смотри что в запросе. В случае с where должно выводить только совпадения, в отличии от параметра optionFilters, который дополняет where запрос.
Но выводит каталог, если пусто.
Вот лог, где должно быть пусто:
Обновление на minishop2 2.8.0-pl не помогло
там где работает правильно group содержит только цифры, например 36550,
а там где вываливается весь каталог, group содержит и цифры и буквы: Z2416
На стринице товара с group = Z2416 в логе, вобще не содержится Options.key и Options.value.
Видимо поэтому и сыпется весь каталог.
получается { «Options.key»:«group»,«Options.value:=»: '~$_modx->resource.group.0~'} — выводит только числовое значение, текстовое уже не переваривает