Jump to content
Esox

Вывести SKU в категории.

Recommended Posts

Добрый день.

 

Пытаюсь вывести SKU в каждом товаре в списке товаров категории.

Подскажите, что сделано не так?

 

Для вывода SKU в категории:

 

 в файле catalog\controller\product\category.php

после

'name'  => $result['name'],

вставляем

'sku'        => $result['sku'],

после

$this->data['text_price'] = $this->language->get('text_price');

вставляем

$this->data['text_sku'] = $this->language->get('text_sku');

в файле catalog\language\russian\product\category.php

вставляем

$_['text_sku']          = 'Артикул:';

в файле catalog\view\theme\default\template\product\category.tpl

после

<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>

вставляем

      <?php echo $text_sku; ?>
      <?php echo $product['sku']; ?>

SKU выводится нормально только в последней категории. В родительских же категориях выводится ошибка: vqmod\vqcache\vq2-catalog_controller_product_category.php on line 191

И разваливается кодировка, все в иероглифах.

 

Вот фрагмент о котором идет речь:

                $product_total = $this->model_catalog_product->getTotalProducts($data);
                
                $this->data['categories'][] = array(
                    'name'  => $result['name'],
  это строка 191      'sku'   => $result['sku'],
                    
                    'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
                );
            }

 191 строка это  'sku'   => $result['sku'],

 

Версия 1.5.3.1

Заранее всем отписавшимся спасибо.

Share this post


Link to post
Share on other sites

в контроллере вставляете в массив для информации по категории, а вам нужен массив для товара...
То есть строчку 'sku'        => $result['sku'], вставить в массив:
 

$this->data['products'][] = array(

Share this post


Link to post
Share on other sites

Эта строчка

 'sku'        => $result['sku'],

уже присутствует в :

                $this->data['products'][] = array(
                    'product_id'  => $result['product_id'],
                    'short_description' => $result['short_description'],
                    'thumb'       => $image, //short_description
                    'name'        => $result['name'],
                    'sku'        => $result['sku'],

есть еще такой массив:

$this->data['products'] = array();
            
            $data = array(
                ///// Added code
                'filter_manufacturer_id'    => $this->data['filter_manufacturers'],
                'filter_sub_category'       => true,
                ///// End of addition
                'filter_category_id' => $category_id,
                'sort'               => $sort,
                'order'              => $order,
                'start'              => ($page - 1) * $limit,
                'limit'              => $limit

Share this post


Link to post
Share on other sites

Чего-то, где-то не хватает. Может кто-то сталкивался подобной задачей?

Share this post


Link to post
Share on other sites

Извините но я не знаю не чего об этом

 

:-D  я уже понял. Не расстраивайтесь, в этом нет ничего страшного.

Share this post


Link to post
Share on other sites

Чего-то, где-то не хватает. Может кто-то сталкивался подобной задачей?

Получилось ли вывести SKU в категории? У меня тоже не получается.

Share this post


Link to post
Share on other sites

То, как посоветовал Einshtein должно работать.

Share this post


Link to post
Share on other sites

У меня почему то не появилось самого артикула - а слово артикул: - есть.... в место где должен быть sku _ пусто !  - Помогите.

и ошибка vqmod\vqcache\vq2-catalog_controller_product_category.php on line 191 - как описывалось ранее.

Edited by xirosima

Share this post


Link to post
Share on other sites

Но как, если мы не видим код?

Share this post


Link to post
Share on other sites

ссылка где описано решение

 

ТОлько совместив оба варианта имею дубль слова артикул. 

 $this->data['text_sku'] = $this->language->get('text_sku');   - убрал от предыдущего в  catalog/controller/product

 в файле category.php    - и дубль слова артикул ушло.

 

 

 

1.) /catalog/controller/product/  файл — category.php. 
Находим строчку кода:
'name'        => $result['name'],
под ней дописываем :
'sku'         => (empty($result['sku'])) ? '' : $this->language->get('text_sku') .' '. $result['sku'],
2.)Переходим в директорию — upload/catalog/language/russian/product/, и выбираем category.php.
В нем находим строчку со следующим содержанием:
$_['text_model']        = 'Модель:';
И под ней дописываем наш код:
$_['text_sku']          = 'SKU (Артикул):';
Тут стоит уточнить. Если вы используете другие языки, вам нужно проделать этот пункт к каждому из них, изменяя при этом текст на переведенный.
3.) Подключаем SKU непосредственно в шаблоне категории Opencart. Для этого будем редактировать файл, по адресу — /catalog/view/theme/default/template/product/category.tpl.
В нужном вам месте вы можете добавить этот код, для примера сделаю под строчкой:
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
И добавляю код для вставки sku:
<span><?php echo $product['sku']; ?></span>
Готово. 
Edited by xirosima

Share this post


Link to post
Share on other sites

Подскажите как вывести Артикул в Отзывах в админке, <?php echo $product['sku']; ?> не работает :(
видимо нужно  поправить запрос к базе в model/catalog/review.php , а синтаксисом не владею :(


 

Share this post


Link to post
Share on other sites

В Journal  данная процедура не работает. Модель не выводит в Категориях .

Пишет, что model не определен, хотя в category.php указан $model

(см. рисунок во вложении) 

Снимок.JPG

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.