Общее количество товаров из подкатегорий в модуле Витрина категорий


zahar_92
 Поделиться

Рекомендуемые сообщения

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

 

Например 

- Видео камеры ( 12 )

--- IP видеокамеры ( 5 )

--- Аналоговые .. ( 3 )

--- Аксессуары ( 4 )

 

Сейчас

- Видео камеры ( 0 )

--- IP видеокамеры ( 5 )

--- Аналоговые .. ( 3 )

--- Аксессуары ( 4 )

Ссылка на комментарий
Поделиться на других сайтах

Вангую, спустя пару месяцев в случае получения ответа на ваш вопрос появится вопрос "что делать с тормозами"

отключите подсчет совсем

Ссылка на комментарий
Поделиться на других сайтах

Только что, admin сказал:

Вангую, спустя пару месяцев в случае получения ответа на ваш вопрос появится вопрос "что делать с тормозами"

отключите подсчет совсем

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

Ссылка на комментарий
Поделиться на других сайтах

В 24.10.2016 at 19:58, zahar_92 сказал:

Просто не понятно, почему в модуле меню это предусмотрено, а тут нет..

не хочу вас расстраивать :-)

Но ситуация обратная

в модуле внесены исправления

а в меню их нет

но в любом случае лучше выключить

если очень надо чтобы считало

посмотрите контроллер меню и верните это в модуль

Ссылка на комментарий
Поделиться на других сайтах

В 24.10.2016 at 20:00, admin сказал:

не хочу вас расстраивать :-)

Но ситуация обратная

в модуле внесены исправления

а в меню их нет

но в любом случае лучше выключить

если очень надо чтобы считало

посмотрите контроллер меню и верните это в модуль

Я не расстроен, подсчет товара не принципиален, но было бы не плохо.. Нет так нет)

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...
В 24.10.2016 at 20:00, admin сказал:

не хочу вас расстраивать :-)

Но ситуация обратная

в модуле внесены исправления

а в меню их нет

но в любом случае лучше выключить

если очень надо чтобы считало

посмотрите контроллер меню и верните это в модуль

И всё-же, как вернуть обратно?

Ссылка на комментарий
Поделиться на других сайтах

  • 9 месяцев спустя...

Добрался до этого вопроса.

Чтобы отображалось количество товара из подкатегорий в главной категории, как это есть в подкатегории и категории 3 уровня и т.д. Нужно в catalog/model/product.php


Изменить это:

Скрытый текст

    public function getTotalProducts($data = array()) {
        $sql = "SELECT COUNT(DISTINCT p.product_id) AS total";

        if (!empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }



Вот так:

Скрытый текст

    public function getTotalProducts($data = array()) {
        $sql = "SELECT COUNT(p.product_id) AS total";

        if (!empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }

 

Или так:

Скрытый текст

    public function getTotalProducts($data = array()) {

        if (!empty($data['filter_category_id'])) {

        $sql = "SELECT COUNT(p.product_id) AS total";
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {

        $sql = "SELECT COUNT(DISTINCT p.product_id) AS total";
            $sql .= " FROM " . DB_PREFIX . "product p";
        }


или
catalog/controller/module/category.php

Скрытый текст

//найти:

'filter_sub_category' => true

 

//Заменить на:
'filter_sub_category' => false

 

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу