[Помогите] Вывести в каталоге товаров - категорию товара Opencart 1.5.5.1

Тема в разделе "OpenCart", создана пользователем tippro, 21 сен 2013.

  1. tippro

    tippro

    Регистрация:
    11 фев 2013
    Сообщения:
    12
    Симпатии:
    0
    Помогите решить, как вывести категорию в каталоге товаров под названием товара
    Спасибо!
    [​IMG]
     
  2. tippro

    tippro

    Регистрация:
    11 фев 2013
    Сообщения:
    12
    Симпатии:
    0
    Подскажите, а что прописать в category.php?
     
  3. mihaa

    mihaa

    Регистрация:
    30 янв 2013
    Сообщения:
    59
    Симпатии:
    25
    Как вариант:
    В \catalog\controller\product\category.php добавляем
    Код:
    $this->data['products'][] = array(
                        'product_id'  => $result['product_id'],
                        'thumb'      => $image,
                        'name'        => $result['name'],
                        'catname'    => $category_info['name'],
                        'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
                        'price'      => $price,
                        'special'    => $special,
                        'tax'        => $tax,
                        'rating'      => $result['rating'],
                        'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                        'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
                    );
    В \catalog\view\theme\*\template\product\category.tpl
    Код:
    <div><?php echo $product['catname']; ?></div>
     
  4. tippro

    tippro

    Регистрация:
    11 фев 2013
    Сообщения:
    12
    Симпатии:
    0
    Ага почти работает только категория показывается текущая, а не товара, и отражается только списком и после добавления
    html +='<div class="category">'+ $(element).find('.category['name']').html()+'</div>';

    Как можно наладить нормальную работу? может в стилях что то прописать?
     
  5. yaro

    yaro

    Регистрация:
    1 ноя 2013
    Сообщения:
    5
    Симпатии:
    0
    Пробовал - ничего не подошло. У кого-то хоть один из этих вариантов сработал?
    Можно вывести категорию к товарам, находящимся в модулях Последние товары?
     
  6. IgorS

    IgorS

    Регистрация:
    7 ноя 2012
    Сообщения:
    7
    Симпатии:
    1
    Подниму тему годичной давности. Как вывести категорию в каталоге товаров?
    Пробовал реализовать так: в category.php
    PHP:
    $this->data['catprod'] = array();

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

    foreach (
    $product_category as $prodcat) {

        
    $category_info $this->model_catalog_category->getCategory($prodcat['category_id']);

        if (
    $category_info) {

            
    $this->data['catprod'][] = array(
                
    'name' => $category_info['name'],
                
    'href' => $this->url->link('product/category'
                
    'path=' $category_info['category_id'])
            );
        }
    }
    в category.tpl:
    PHP:
    <span>Категории: </span>
    <?php foreach ($catprod as $catp) { ?> 
    <a href="<?php echo $catp['href']; ?>"><?php echo $catp['name']; ?></a> -><?php ?>
    Под названием товара категории выводятся, но одна и та же, независимо от того, из какой категории товар.
    Помогите победить, плз
    [​IMG]
     
    Lasted edited by : 30 сен 2015
  7. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вы добавляете категории не к товару, а глобально на страницу. Вот это неправильно:
    PHP:
    $this->data['catprod'][]
    Нужно для каждого товара это выводить отдельно, то есть добавлять в
    PHP:
    $data['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('config_product_description_length')) . '..',
                        
    'price'       => $price,
                        
    'special'     => $special,
                        
    'tax'         => $tax,
                        
    'minimum'     => $result['minimum'] > $result['minimum'] : 1,
                        
    'rating'      => $result['rating'],
                        
    'href'        => $this->url->link('product/product''path=' $this->request->get['path'] . '&product_id=' $result['product_id'] . $url),

                        
    'catprod'   => $catprod /* Заранее подготовленный массив */
                    
    );
    Соответственно, и выводить в шаблоне потом так:
    PHP:
    foreach($product['catprod'] as $catp){

    }