COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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


zahar_92

Recommended Posts

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

 

Например 

- Видео камеры ( 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 months later...
В 24.10.2016 at 20:00, admin сказал:

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

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

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

а в меню их нет

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

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

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

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

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

  • 9 months later...

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

Чтобы отображалось количество товара из подкатегорий в главной категории, как это есть в подкатегории и категории 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

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

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

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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