1 Отредактировано Sergey T. (06.08.2015 10:01:06)

Тема: Как вывести количество товаров в категории

Подскажите каким образом можно вывести количество товаров в категориях на сайте?
Нужно прямо в меню добавить.

http://i70.fastpic.ru/big/2015/0806/89/b41e251ff885c091e285dc2818123189.jpg

2 Отредактировано Александр (06.08.2015 15:02:08)

Re: Как вывести количество товаров в категории

Категория это объект \Catalog\Model\Orm\Dir. У него есть поле itemcount.
Соответственно в Вашем блок контроллере можно получить данное поле так:

{$dir.fields.itemcount} {* Выводит в шаблоне количество товаров в категории *}

Посмореть все поля категории с их значениями можно так:

<pre>
{var_dump($dir.fields)}
</pre>

3

Re: Как вывести количество товаров в категории

Спасибо большое! Все получилось и работает!

4 Отредактировано Sergey T. (06.08.2015 13:45:22)

Re: Как вывести количество товаров в категории

Хотя не совсем все. Если по аналогии пытаюсь вывести количество товара в подкатегориях берется количество товара из основной категории. Как вывести количество товаров подкатегории?

http://i69.fastpic.ru/big/2015/0806/0e/80eb366467085b026c0996d91ff2de0e.jpg

5 Отредактировано Александр (06.08.2015 15:02:29)

Re: Как вывести количество товаров в категории

Так Вы на переменную подкатегории обратите внимание. Там то название переменной другое.

6

Re: Как вывести количество товаров в категории

Упс, не обратил внимания. Все в порядке. Спасибо!

Re: Как вывести количество товаров в категории

Не за что smile

8

Re: Как вывести количество товаров в категории

Подскажите как можно сделать в одну строчку подкатегории в выпадающем меню, как в верху на картинке?
А то у Меня переносится по словам в столбик!
http://www.webresurs-72.ru/storage/photo/resized/xy_800x600/b/yjq2zjx0dnk9005_b053aecd.jpg

Повысить оценку Понизить оценку

Re: Как вывести количество товаров в категории

Вы можете сделать это с помощью правки css. Либо взять часть css, которая за это отвечает в файле styles.css из темы perfume, и соответственно шаблон /templates/perfume/catalog/blocks/category.tpl и скопировать.

Re: Как вывести количество товаров в категории

Желательно, чтобы понимать процессы пройти данный курс.
http://readyscript.ru/text-blog/Kak-soz … adyScript/

11

Re: Как вывести количество товаров в категории

Добрый день.

А нельзя чуть более подробнее описать процесс вывода кол-ва товаров в категории? smile

И плюсом бы еще хотелось добавить кол-во товаров в фильтры (пример на картинке).
http://s020.radikal.ru/i706/1508/53/611d9be1d0d6.png

Заранее благодарю.

Повысить оценку Понизить оценку

Re: Как вывести количество товаров в категории

А нельзя чуть более подробнее описать процесс вывода кол-ва товаров в категории?

1. Вам нужно, это иметь шаблон блока, который выводит категории.
Он лежит по пути /templates/ВАША ТЕМА/moduleview/catalog/blocks/category/category.tpl
В нём идёт перебор циклом категорий и подкатегорий. Вывод категорий выглядит примерно так:

{$dir.fields.name}

Эту конструкцию надо дополнить так:

{$dir.fields.name} <sup>({$dir.fields.itemcount})</sup>

Т.е. {$dir.fields.itemcount} выводит нужное нам количество.
2. Если у Вас нет там шаблона, то просто скопируйте его из
/modules/catalog/view/blocks/category/category.tpl в
/templates/ВАША ТЕМА/moduleview/catalog/blocks/category/category.tpl
А дальше как в пункте 1.
3. Сохраняем шаблон и сбрасываем кэш.

И плюсом бы еще хотелось добавить кол-во товаров в фильтры (пример на картинке).

Пока такого функционала нет, для реализации задачи можно написать свой модуль.

13

Re: Как вывести количество товаров в категории

Подскажите, как быть с виртуальными категориями?

14 Отредактировано Ярослав (11.09.2018 02:38:46)

Re: Как вывести количество товаров в категории

Никто не выводил количество для категорий с подбором товаров?
Хотел прямо из шаблона вызвать $category.fields->getVirtualDir()->getFilteredProductIds, но цифра получается намного больше, видимо скрытые или отсутствующие товары  попадают.
Значит надо расширить поведение модели virtualdir и сделать метод  просчета с дополнительной фильтрацией:

        $product_api->setFilter('public', 1);
        $product_api->setFilter('num', '0', '>');
     

15

Re: Как вывести количество товаров в категории

Здравствуйте. Так получается вывести количество товаров на странице категории.

{$category.fields.itemcount}

А как сделать, чтобы там же, при изменении фильтров, количество товаров менялось?

Повысить оценку Понизить оценку

16

Re: Как вывести количество товаров в категории

Джордж пишет:

Здравствуйте. Так получается вывести количество товаров на странице категории.

{$category.fields.itemcount}

А как сделать, чтобы там же, при изменении фильтров, количество товаров менялось?

-------

Вы повесите свой магазин (или значительно забьете ресурсы на вашем сервере), если производить расчет количества товаров с учетом фильтров в разрезе каждой категории. Это даже закэшировать нельзя, так как вариантов сочетаний выбранных фильтров - безмерно большое число.

Я бы не рекомендовал вам этого делать. Обычно делают расчет количества товаров с учетом фильтров только в рамках текущей категории и выводят это число возле фильтров.

Повысить оценку Понизить оценку