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

[Решено] Как скрывать пустые категории?


MiU

Recommended Posts

  • 3 months later...
  • 9 months later...
  • 2 years later...

Здравствуйте, как скрыть отображение пустых категорий (тем где нет товара)

Скока лет уже прошло. Сам задался таким вопросом при разработке полностью автонаполняемого магазина.
Вот как я это реализовал у себя 
OCstore 1.5.5.1.2 шаблон default
Включаем подсчет категорий в настройках магазина
В файле catalog/controller/module/category.php
 
Делаем так (выделено как я сделал)
 
 
if ($product_total!=0){
$children_data[] = array(
'category_id' => $child['category_id'],
'name'        => $child['name'] . ($show_product_count ? ' (' . $product_total . ')' : ''),
'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}
}
 
$total = count($PIDs);
if ($total!=0){
$this->data['categories'][] = array(
'category_id' => $category['category_id'],
'name'        => $category['name'] . ($show_product_count ? ' (' . $total . ')' : ''),
'children'    => $children_data,
'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
);
}
Змінено користувачем interface
Надіслати
Поділитися на інших сайтах


  • 10 months later...

Для osStore 2.1.0.1.2 Скрываем категории без товара:

\catalog\controller\product\category.php

$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'thumb' => $this->model_tool_image->resize($result['image'], 120, 120),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
}

\catalog\controller\module\category.php

$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$children_data[] = array(
'category_id' => $child['category_id'],
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}

В шапку добавлять не стал, поддтормаживает. Можно ручками отключить.

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


  • 3 years later...
В 07.10.2016 в 23:20, heroinepta сказал:

Для osStore 2.1.0.1.2 Скрываем категории без товара:

\catalog\controller\product\category.php


$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'thumb' => $this->model_tool_image->resize($result['image'], 120, 120),
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
);
}

\catalog\controller\module\category.php


$qc = $this->model_catalog_product->getTotalProducts($filter_data);
if ($qc > 0 ) {
$children_data[] = array(
'category_id' => $child['category_id'],
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}

В шапку добавлять не стал, поддтормаживает. Можно ручками отключить.

А есть вариант для Opencart 3?

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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