Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

ID всех категорий товара


Recommended Posts

Добрый день.
Есть следующая структура:

  • Категория
    • Субкатегория 1
      • Субкатегория 2
        • Товар

На странице Главной категории выводятся товары (category.tpl). Как к товару добавить айди категорий и субкатегорий  к которым он относится?


Ожидаемый результат такой: data-categories="КатегорияID_Субкатегория1ID_Субкатегория2ID"

Link to post
Share on other sites

как пример посмотрите файл от seopro

а именно метод getPathByProduct

Link to post
Share on other sites

как-то так:

 

Цитата

$cat = array();    
    $product_category = $this->model_catalog_product->getCategories($product_id);
          foreach ($product_category as $prodcat) {
              
          $category_info = $this->model_catalog_category->getCategory($prodcat['category_id']);
            if ($category_info) {
           $cat[] = array(
          'name'     => $category_info['name'],
          'href'     => $this->url->link('product/category', 'path=' . $category_info['category_id'])
          );
            }
          }

 

Link to post
Share on other sites

14 часов назад, MilkeyWay сказал:

как-то так:

 

 

Спасибо, нашел другой способ. Может пригодится кому-то.

 

Перед $products[] = array(

//

$product_categories = array();
                                    
                                    
$categories = $this->model_catalog_product->getCategories($result['product_id']);
                                    if($categories){
                                        foreach($categories as $category){
                                            $category_info = $this->model_catalog_category->getCategory($category['category_id']);
                                            $product_categories[] = array(
                                                'id' => (string)$category['category_id'],
                                                'name' => $category_info['name'],
                                                'href' => $this->url->link('product/category', 'path=' . $category_info['category_id'] )
                                            );
                                        }
                                    }
                        $products[] = array(

В массив $products[] = array(

добавляем строку

'product_categories' => $product_categories, //массив с id

 

Ну и вывод в .tpl в цикле <?php foreach ($category['products'] as $product) { ?>

 

<?php if($product['product_categories']){ ?>
	<?php  $product_categorie_ids='';?>
	<?php foreach($product['product_categories'] as $category){ ?>
			<?php  $product_categorie_ids = $product_categorie_ids . '_' . $category['id'];?>
	<?php } ?>
	<span><?php echo $product_categorie_ids; ?></span>
<?php } ?>

 

Edited by zzharuk
добавил код
Link to post
Share on other sites

32 минуты назад, zzharuk сказал:

$categories = $this->model_catalog_product->getCategories($result['product_id']);

 

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

Link to post
Share on other sites

А че нужно-то? получить все пути товара?
Один запрос - и все будет хорошо
подсказка Group_Concat

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

А че нужно-то? получить все пути товара?
Один запрос - и все будет хорошо
подсказка Group_Concat

Нет, пути товара не нужны.

Нужно на странице Главной категории сгруппировать продукты в слайдеры по субкатегориям.

Находил платный модуль. Есть бесплатный, который выводит плиткой из любой категории. А id всех категорий вида "num_num_num" мне нужны в качестве data-attribute.

Вложеность такая:

Категория -> Субкатегория 1 -> Субкатегория 2 -> Товары

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.