Вывод по 5 товаров в каждой категории
Хочу реализовать на главной страницы вывод всех категорий, с возможностью показать под каждой из них 5 товаров.
Возможно, уже кто-то реализовывал.
Пример:
Категория 1
-товар
-товар
-товар
-товар
-товар
Категория 2
-товар
-товар
-товар
-товар
-товар
Категория 3
-товар
-товар
-товар
-товар
-товар
Пробовал сначала получить все категории, а потом уже вставить в чанк, еще один снипет:
Так же хотел вызвать подобным запросом, но запрос очень тормозной получается, плюс не понятно, как к нему присоединить категории:
Возможно, уже кто-то реализовывал.
Пример:
Категория 1
-товар
-товар
-товар
-товар
-товар
Категория 2
-товар
-товар
-товар
-товар
-товар
Категория 3
-товар
-товар
-товар
-товар
-товар
Пробовал сначала получить все категории, а потом уже вставить в чанк, еще один снипет:
[[pdoResources?
&parents=`0`
&where=`{"class_key":"msCategory"}`
&tpl=`tpl.category.list`
]]
[[msProducts?
&parents=`[[+id]]`
&limit=`5`
]]
Но все вешает базу данных.Так же хотел вызвать подобным запросом, но запрос очень тормозной получается, плюс не понятно, как к нему присоединить категории:
select t1.* from modx_site_content t1 join (select parent, substring_index(group_concat(id order by id ASC), ',', 5) x
from modx_site_content t2 WHERE t2.class_key = 'msProduct' group by parent) t on t.parent = t1.parent and find_in_set(t1.id,x) ORDER BY parent ASC
Поблагодарить автора
Отправить деньги
Комментарии: 3
Да все правильно, сначала вызываем pdoResources, чтобы вывести категории. В parents указываем id корневого раздела, depth = 0.
А внутри в чанке вызываем msProducts, parents = $id, depth уже в зависимости от вашего сайта… наверное тоже 0.
А внутри в чанке вызываем msProducts, parents = $id, depth уже в зависимости от вашего сайта… наверное тоже 0.
вам не нужно вызывать pdoResources а ниже msProducts.
Вам нужно вызвать msProducts в чанке tpl.category.list
Вам нужно вызвать msProducts в чанке tpl.category.list
Это и так понятно. Просто думал оптимизировать как-то это одним запросом. А так 400 запросов к базе, при долгом кол-ве категорий. ))) только пока кэш выручает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.