Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

 

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

Link to post
Share on other sites
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) . ')' : ''),

 

Link to post
Share on other sites
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

Link to post
Share on other sites
19 минут назад, Tom сказал:

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

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

Link to post
Share on other sites
6 минут назад, Tom сказал:

 

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

 

Link to post
Share on other sites
Спойлер

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

 

 

 

Edited by Pavel666
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.