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

Как отключить пустые категории?


vyn

Recommended Posts

я бы добавил подзапрос для проверки в таблице привязки к товарам в виде 

LEFT JOIN " . DB_PREFIX . "product_to_category p2c 

в public function getCategories

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

Или в product/category.php

foreach ($results as $result) {
$data = array(
'filter_category_id'  => $result['category_id'],
'filter_sub_category' => true
);

$product_total = $this->model_catalog_product->getTotalProducts($data); 

// добавить if $product_total > 0 {
$this->data['categories'][] = array(
'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
);
// добавить }
}
 
Пустые категории не будут добавляться в массив.
  • +1 1
Надіслати
Поділитися на інших сайтах


Как автоматичсеки отключить показ пустых категорий, в которых нет товаров?

что значит "отключить"? где?

Бывает до 100 пустых категорий висит.

где они "висят"?

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

 

Или в product/category.php

foreach ($results as $result) {
$data = array(
'filter_category_id'  => $result['category_id'],
'filter_sub_category' => true
);

$product_total = $this->model_catalog_product->getTotalProducts($data); 

// добавить if $product_total > 0 {
$this->data['categories'][] = array(
'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
);
// добавить }
}
 
Пустые категории не будут добавляться в массив.

 

Не помогло

 

было так у меня -

foreach ($results as $result) {

                $data = array(

                    'filter_category_id'  => $result['category_id'],

                    'filter_sub_category' => true,

                'coolfilter'         => $coolfilter

                );

                $product_total = $this->model_catalog_product->getTotalProducts($data);                

                $this->data['categories'][] = array(

                    'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

                    'count' => $product_total,

                    'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)

                );

            }

 

 

добавил в нужном месте код. и категории не открываются

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


что значит "отключить"? где?

где они "висят"?

эти категории висят после того как с помощью кода скрыты товары с количеством 0шт.(чтобы глаза не мозолили)   но они не выключены(товары) просто скрыты.

товаров много. в ручную не реально отключать. Товары загружаются с 1с

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


Не помогло

 

было так у меня -

foreach ($results as $result) {

                $data = array(

                    'filter_category_id'  => $result['category_id'],

                    'filter_sub_category' => true,

                'coolfilter'         => $coolfilter

                );

                $product_total = $this->model_catalog_product->getTotalProducts($data);                

                $this->data['categories'][] = array(

                    'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

                    'count' => $product_total,

                    'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)

                );

            }

 

 

добавил в нужном месте код. и категории не открываются

Покажите кусок с исправлениями

Неужто критично отсутствие круглых скобок в 

// добавить if $product_total > 0 {

? Тогда так:

// добавить if ($product_total > 0) {
Змінено користувачем igon
Надіслати
Поділитися на інших сайтах


 

Покажите кусок с исправлениями

Неужто критично отсутствие круглых скобок в 

// добавить if $product_total > 0 {

? Тогда так:

// добавить if ($product_total > 0) {

теперь так -

 

foreach ($results as $result) {

                $data = array(

                    'filter_category_id'  => $result['category_id'],

                    'filter_sub_category' => true,

            'coolfilter'         => $coolfilter

                );

                $product_total = $this->model_catalog_product->getTotalProducts($data);                

if ($product_total > 0){

                $this->data['categories'][] = array(

                    'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

                    'count' => $product_total,

                    'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)

                );

}

    }

 

вроде пока изменений нет. пустые висят категории. кеш чистил

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


product/category.php - это не единственное место, где формируется массив категорий

 

Есть еще module/category.php.

 

Но там всё чуть посложнее. Пока не готов дать готовое решение. Но принцип решения - тот же.

 

И есть еще common/header.php

 

Вот (да,  только чуть посложнее):

 

В module/category.php нужно два условия на > 0:

if ($product_total > 0){

для подкатегорий 

 

и 

if ($total > 0){

для категории верхнего уровня.

 

 

В common/header.php одно условие 

if ($product_total > 0){
Надіслати
Поділитися на інших сайтах


эти категории висят после того как с помощью кода скрыты товары с количеством 0шт.(чтобы глаза не мозолили)   но они не выключены(товары) просто скрыты.

товаров много. в ручную не реально отключать. Товары загружаются с 1с

агов, на том берегу!

что значит "отключить"?

где?

в меню в шапке? в модуле категорий? по product/category&category_id=X не показывать, если нет товаров?

...но они не выключены(товары) просто скрыты...

а смысл вообще какой?

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

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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