Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

скрыть производителей/категории пустых


26rus

Recommended Posts

Вручную не вариант скрывать. 

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

Надіслати
Поділитися на інших сайтах


6 минут назад, 26rus сказал:

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

добавить условие в запрос по выводу примерно так:

для Категорий -

AND (SELECT COUNT(p2c.`product_id`) AS `prod_count` FROM `".DB_PREFIX."product_to_category` p2c WHERE p2c.`category_id` = c.`category_id`) > 0

для Производителей -

AND (SELECT COUNT(p.`product_id`) AS `prod_count` FROM `".DB_PREFIX."product` p WHERE p.`manufacturer_id` = m.`manufacturer_id`) > 0

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, vier сказал:

добавить условие в запрос по выводу примерно так:

для Категорий -


AND (SELECT COUNT(p2c.`product_id`) AS `prod_count` FROM `".DB_PREFIX."product_to_category` p2c WHERE p2c.`category_id` = c.`category_id`) > 0

для Производителей -


AND (SELECT COUNT(p.`product_id`) AS `prod_count` FROM `".DB_PREFIX."product` p WHERE p.`manufacturer_id` = m.`manufacturer_id`) > 0

 

и... положить магазин

 

  • +1 1
Надіслати
Поділитися на інших сайтах

правильно считать в категориях так

SELECT c.category_id, c.parent_id, (SELECT COUNT(*) FROM " . DB_PREFIX . "product_to_category pc WHERE pc.category_id = c.category_id) as total FROM " . DB_PREFIX . "category c

и примерно так же в производителях и если 0 - отключать, не 0 - включать

 

дополнительно проверить что у категории нет дочерних категорий

Надіслати
Поділитися на інших сайтах

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

и... положить магазин

 

я ответил на вопрос пользователя. (к тому же - мы же не знаем, сколько на сайте Товара, Категорий, Производителя).

если у Вас есть другое решение - предлагайте.

Надіслати
Поділитися на інших сайтах

1 минуту назад, spectre сказал:

а у вас в фильтре тоже так категории выводятся? ;)

в моем Фильтре вообще не выводятся Категории (раньше, года 4 назад, выводились. - отказался за неактуальности. но и там проверок таких не было).

Надіслати
Поділитися на інших сайтах

7 минут назад, vier сказал:

если у Вас есть другое решение - предлагайте.

Есть, но не озвучено
 

 

24 минуты назад, 26rus сказал:

Нужно без модулей и тд



Нет понятия модуля, есть понятие расширения

Чтобы такое делать, нужно..
Добавить поле - количество
Считать товары в бекграунде (крон)
И условие по этому полю

 

  • +1 1
Надіслати
Поділитися на інших сайтах

4 часа назад, spectre сказал:

правильно считать в категориях так


SELECT c.category_id, c.parent_id, (SELECT COUNT(*) FROM " . DB_PREFIX . "product_to_category pc WHERE pc.category_id = c.category_id) as total FROM " . DB_PREFIX . "category c

и примерно так же в производителях и если 0 - отключать, не 0 - включать

 

дополнительно проверить что у категории нет дочерних категорий

а как с производителем ???? профикс таблиц идет OC

Змінено користувачем 26rus
Надіслати
Поділитися на інших сайтах


Могу платно поделиться кодом для удаления категорий и производителей без товаров.

Надіслати
Поділитися на інших сайтах

10 часов назад, buslikdrev сказал:

Могу платно поделиться кодом для удаления категорий и производителей без товаров.

Категории скрыл , а производителей не знаю как :(

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Сделал добавив в модель производителя:

$sql .= " AND EXISTS (SELECT 1 FROM " . DB_PREFIX . "product p WHERE p.manufacturer_id = m.manufacturer_id AND p.status = '1' AND EXISTS (SELECT 1 FROM " . DB_PREFIX . "product_to_store p2s WHERE p.product_id = p2s.product_id AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'))";

Вроде все работает шустро, 150 производителей, 2000 товаров. Гуру подскажите, сильно это коряво и будет ли сильно грузить?

Надіслати
Поділитися на інших сайтах


я бы просто сделал столбик в табличке с количеством товаров посчитанным по крону и count > 0 в модель 

  • +1 1
Надіслати
Поділитися на інших сайтах

03.11.2023 в 18:54, voodoo сказал:

150 производителей, 2000 товаров. Гуру подскажите, сильно это коряво и будет ли сильно грузить?

при таких числах - это пыль
но лучше послушать @spectre

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.