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

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


26rus

Recommended Posts

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

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

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


  В 24.11.2020 в 09:11, 26rus сказав:

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

Expand  

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

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

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

 

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

  В 24.11.2020 в 09:24, 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

 

Expand  

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

 

  • +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 - включать

 

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

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

  В 24.11.2020 в 09:25, chukcha сказав:

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

 

Expand  

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

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

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

  В 24.11.2020 в 09:29, spectre сказав:

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

Expand  

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

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

  В 24.11.2020 в 09:28, vier сказав:

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

Expand  

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

 

  В 24.11.2020 в 09:11, 26rus сказав:

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

Expand  



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

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

 

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

  В 24.11.2020 в 09:27, 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 - включать

 

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

Expand  

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

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


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

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

  В 25.11.2020 в 05:19, buslikdrev сказав:

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

Expand  

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

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


  • 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 в 16:54, voodoo сказав:

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

Expand  

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

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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