*

stol

  • *
  • 28

Производители с количеством товаров больше 0

Попалась аналогичная проблема как с категориями.
Если отключить отображение товаров статус "0", то производители в списке все равно будут показываться, хотя товары отображаться не будут.

Решение такое:

/includes/modules/boxes/manufacturers.php

находим:

$Qmanufacturers = $osC_Database->query('select manufacturers_id as id, manufacturers_name as text from :table_manufacturers order by manufacturers_name');

меняем на:

//      $Qmanufacturers = $osC_Database->query('select manufacturers_id as id, manufacturers_name as text from :table_manufacturers order by manufacturers_name');
// производители с к-вом товаров > 0
      $Qmanufacturers = $osC_Database->query('select distinct m.manufacturers_id as id, m.manufacturers_name as text
                                    from :table_manufacturers as m inner join :table_products as p
                                    on m.manufacturers_id=p.manufacturers_id
                                    where p.products_status>0
                                    order by manufacturers_name');

      $Qmanufacturers->bindTable(':table_products', TABLE_PRODUCTS);
// окончание производителей с к-вом товаров > 0

*

stol

  • *
  • 28

Т.к. "distinct" влияет на скорость выборки в MySQL , может сказаться на отображении страницы.

Хорошее решение. Более детально разберемся и вероятно, если это действительно недоработка, внесем это решение в новую версию сервиспака.