Как я понял, в шаблонах никто из разработчиков не использует вывод количества товаров, так как движок формирует количество не так как ожидается: если в категории включена опция "Включить товары из подкатегорий", то в количество не подсчитываются товары из подкатегорий.
22 год на носу. Может пора уже устранить этот недочет?!
3 комментария
Нет никакого недочета и "22 год на носу" тоже не аргумент.
Как правило в самой категории в шаблоне category.html подсчет надо делать через
для подкатегорий там же аналогично, но только в цикле разбора подкатегорий
Все считается в таком случае корректно и подкатегории будут учитываться в точности.
Но есть парочка подводных камней. Попробую объяснить на примере.
Представим себе категорию А и в ней две подкатегории Б и В. В каждой подкатегории 3 товара, а в самой категории А товаров нет (для упрощения). Вышеописанный метод покажет А - 6, Б - 3, В -3.
Теперь берем один товар из подкатегории В и помещаем его одновременно в подкатегорию Б. Метод покажет А - 6, Б - 4, В - 3.
Если вы считаете, что 4+3 = 7 и в категории А должно быть 7, то вы неправы. Товаров в А будет действительно 6.
Теперь добавим в категорию А 4 новых товара, но тех, которых нет в Б и В. Счет будет А - 10, Б - 4, В -3. Видимых уникальных товаров на витрине в категории А будет действительно 10.
Теперь один товар из А продублируем в Б. Счет будет А - 10, Б - 5, В - 3. Видимых товаров в А снова 10, в Б - 5, а в В - 3.
На скриншоте ниже показан счетчик в категории и подкатегориях 10+15+7+16 = 48, но ведь 48 != 44, однако 44 товара в главной категории - это правильный ответ. Такова реальность.
Думайте сами как лучше эту ситуацию решить для вашего проекта. Движок отдает все нужные данные правильно. Вопросы к теме дизайна.
А если категорий и товаров много, то будьте готовы раскошелиться на секунду-другую на отклик сервера
Производительность при большом кол-ве может пострадать, если считать всё всюду и всегда и при этом "голова не включать". Однако
независимо ни от чего в шаблоне (в категории) есть и тут её можно точно не считать. Берем и выводим. Она там притаилась правильная вся из себя такая, но часто её обходят стороной и берут данные так как "завещал великий шаблон Дефолт"... от чего косяки с подсчетом и огребают.
С подкатегориями тут каждый сам для себя пусть решает.