-
-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Если в msProducts в where указать class_key:IN - правило добавляется но не работает #923
Comments
Пока вкрутил вот такой костыль, и это работает как надо, но там ведь могут быть и другие условия, наверно нужна более сложная проверка наличия ключей, чтобы затрагивало LIKE, IN, != и др |
есть такое решение от 2013 года
https://bezumkin.ru/topics/16d7ec84-6448-4a58-8b72-d9c7c082f8d1 Также можно использовать pdoResources с leftJoin и указанием class = msProduct А сам сниппет msProducts предназначен для вывода товаров, поэтому не считаю описанное поведение ошибкой |
А зачем в сниппете который выводит ТОВАРЫ пытаться засунуть вывод КАТЕГОРИИ? В чем практический смысл? |
@Electrica Практический смысл что это работает кратно быстрее чем pdoResources и иногда хочется вывести ТОВАРЫ по КАТЕГОРИЯМ одним запросом, а не делать вызов pdoResources внутри чанка которого будет вызов msProducts для вывода продуктов таким образом получаем количество вызовов msProducts равное количеству категорий, а в решении выше - один вызов и все Далее вывод в формате json и уже через fenom это все распределяешь как удобно |
@webinmd смысл вывести и категории и товары в одном запросе. Если сделать запрос только по категориям то там и без leftjoin работает все |
Сообщение об ошибке / Error message
Если в msProducts в where указать class_key:IN - правило добавляется но не работает, например
Поскольку теперь ключом массива является class_key:IN а по умолчанию msProducts заполняет ключ в where class_key (30-33 строки сниппета msProducts)
Получаем условие
WHERE (
msProduct.
class_key= 'msProduct' AND
msProduct.
class_keyIN ('msCategory','msProduct').....
Резюме / Summary
Не получается вывести в одном вызове сниппета сразу и категории и товары
Шаг для воспроизведения / Step to play
указать в параметрах 'where' => ['class_key:IN' => ['msCategory','msProduct']]
Наблюдаемое поведение / Observed behavior
Выводятся только товары
Ожидаемое поведение / Expected behavior
Выводятся и категории и товары
Environment
miniShop2 3.0.7
The text was updated successfully, but these errors were encountered: