Перейти к содержанию
Esox

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

Рекомендуемые сообщения

Добрый день.

 

Пытаюсь вывести 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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эта строчка

 '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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Изменено пользователем xirosima

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 $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>
Готово. 
Изменено пользователем xirosima

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Снимок.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.