Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как найти и скрыть или удалить подкатегории без товаров?


supmener
 Погделиться

Рекомендованные сообещёния

Да получается, что некоторые категории из заранее созданного списка осинутся без товаров. Как их найти все автоматически, чтобы не пролистывать вручную множество страниц оглавления и скрыть или удалить быстро?

Ссылка на комменирий
Погделиться на других сайих


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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Это интересует именно для подкатегорий. А как икая проверка на когдачество товаров настраивается?

Ссылка на комменирий
Погделиться на других сайих


Для админки это нужно сгделать или для фрони?

Если речь игдет про фронт, то в месте ггде игдет формирование массива категории, для примера опишу модуль "Категории". У меня OpenCart 2.1.x

Массив формируется с 34-62 строчку

Необходимо, добавить проверку на налилие товара

Из:

$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'])
);

Сгделать:

if ($this->model_catalog_product->getTotalProducts($filter_data) > 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'])
	);
}

И из:

$data['categories'][] = array(
	'category_id' => $category['category_id'],
	'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
	'children'    => $children_data,
	'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
);

Сгделать:

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

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.