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

вывод товаров из подкатегорий!


Ptenec

Recommended Posts

ребят всем привет тем кто спит и не спит! вопрос довольно простой!       к примеру есть родительская категория навезем её Папа  и к ней привязаны под категории малыш 1 с 20 товарами и  малыш 2 с 57 товарами  врубаешь подсчет товаров  дабы при заходе на главную врубалось какое количества товаров в под категориях! ко мне обратился знакомый и начал расспрашивать как это дело все вывести, как количество в названии под категорий!  сам такому не задавался но стало интересно!  ибо человек хочет в родительской категории вывести товары которые привязаны к подкатегории родителя

 

порекомендовал ему модуль productcategory что лежит бесплатно на оф сайте англ версии но человеку лень жопу гнуть чтобы добавить категории для вывода товаров! есть у вас мысли на данный счет?

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

13 минут назад, Ptenec сказал:

как это дело все вывести, как количество в названии под категорий 

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


catalog\controller\product\category.php

$data['categories'][] = array(
					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),

 

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

3 минуты назад, Tom сказал:

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


catalog\controller\product\category.php


$data['categories'][] = array(
					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),

 

 

речь о выводе товаров из подкатегорий привязаной к род категории!

род катеогрия

пк (28 товаров)
сланцы (43товара)

 

и имено эти товары вывести в род категогрии 

типа такого

пк
товар1
товар2
-
-
товар28

сланцы 
товар 1
товар 2
товар 43

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

19 минут назад, Tom сказал:

И как быть с пагинацией ?

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

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

6 минут назад, Tom сказал:

 

подобное уже проделывал но стандартом на 2.3 не вышло  завтра изучу вашу предоставленую инфу и далее отпишу  спасибо

 

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

Спойлер

$sub_catg = $this->model_catalog_category->getCategories($category_id);
$subcategory = array();
foreach ($sub_catg as $result) {

	$sub_products = array();

	$filter_data = array(
		'filter_category_id' => $result['category_id'],
	);
  
	$sub_prod = $this->model_catalog_product->getProducts($filter_data);
	foreach ($sub_prod as $result) {
		if ($result['image']) {
			$image = $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height'));
		} else {
			$image = $this->model_tool_image->resize('placeholder.png', $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height'));
		}

		if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
			$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
		} else {
			$price = false;
		}

		if ((float)$result['special']) {
			$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
		} else {
			$special = false;
		}

		if ($this->config->get('config_tax')) {
			$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
		} else {
			$tax = false;
		}

		if ($this->config->get('config_review_status')) {
			$rating = (int)$result['rating'];
		} else {
			$rating = false;
		}

		$sub_products[] = array(
			'product_id'  => $result['product_id'],
			'thumb'       => $image,
			'name'        => $result['name'],
			'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
			'price'       => $price,
			'special'     => $special,
			'tax'         => $tax,
			'minimum'     => ($result['minimum'] > 0) ? $result['minimum'] : 1,
			'rating'      => $rating,
			'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
		);
	}
  
	$subcategory[] = array(
		'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
		'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
		'sub_products'  => $sub_products
	);
  
  
}

$data['subcategory'] = $subcategory;
Спойлер


<?php foreach ($subcategory as $category) { ?>
  <?php foreach ($sub_products as $product) { ?>

 

и убрать пагинацию в контроллере, а то будет выводить по 15 товаров, основной категории

Спойлер


			$filter_data = array(
				'filter_category_id' => $category_id,
				'filter_filter'      => $filter,
				'sort'               => $sort,
				'order'              => $order,
				//'start'              => ($page - 1) * $limit,
				//'limit'              => $limit
			);

 

 

 

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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