Evo senior developers.
Есть сайт с товарами, товаров немного. Три основных типа товаров, ну, штук по 1000.
Но зато много товарных категорий/подкатегорий, каждая из которых берет товары фильтром из общей массы.
Таких категорий может быть и 100, и 200 на странице выведено.
И рядом с каждой категорией по замыслу дизайнера - количество товаров в ней.
Как вы делаете - "на лету" подсчет и вывод кол-ва, или же плагинчик, который после импорта товаров запускается кем-то и считает всё, а эти все количества записывает в ТВ для каждой категории?
На лету пересчет - делал, очень тормозить с какого-то момента стало. У меня как раз магазин есть, около 2000 товаров, и тоже дофига гатегорий и уровень вложенности 4-5-6, и там прям надо в каждой категории показывать количество актуальных товаров в ней. Поэтому просто при сохранении/публикации/удалении товара получаю цепочку id родителей (getParentsIds) и id из связанных с товаром мультикатегорий и по цепочке вверх пересчитываю количество и сохраняю в отдельную таблицу для каждого id_категории. При обычном рендере, соответственно, ничего не пересчитывается, все количества выводятся из этой таблички. Правда, там у меня 1.4, но сути дела не меняет скорее всего.
У меня товары добавляются отдельно, а категории сами по себе. Скрипт, который выводит категории пишет список категорий, в т.ч. и количество в кеш. Срок кеша небольшой, пару часов. Это экономит ресурсы на запросы, а то, что цифра меняется не сразу, а через 1-2 часа никого не парит.
Советую ознакомиться: DocLister
У меня бурячок. Нету стандартного компонента, свой вывод и я просто хотел рассказать про то, как экономить запросы на количестве в категориях. Наверное можно это совать в препару, если там доклистер.
А, понял, спасибо.
Обсуждают сегодня