Главная » Opencart » Вывод SKU (артикула) на странице категорий или карточках товаров в Opencart

Вывод SKU (артикула) на странице категорий или карточках товаров в Opencart

Здравствуйте читатели моего блога. Случаются ситуации, когда клиенты просят вывести артикул в категориях интернет магазина. Зачем это нужно, я не совсем понимаю, как с точки юзабилити так и с точки логики, но это их дело.

Чтобы осуществить эту задачу нужно проделать ряд несложных действий.

1.) Подключаемся к ftp нашего сайта и заходим в директорию — upload/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. Для этого будем редактировать файл, который находиться по адресу — /upload/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>

Если у вас установлен FilterPro, то значение SCU выводится не будет.

Выводим значение SKU (артикула) на странице товара

Здесь алгоритм похожий с предыдущим.

1.) Идем в директорию — upload/catalog/controller/product/ и на этот раз будем редактировать файл product.php.

1.1) Находим строчку:

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

И под ней вставляем:

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

1.2) В этом же файле чуть ниже находим фрагмент:

$this->data['model'] = $product_info['model'];

И под ним добавляем:

$this->data['sku'] = $product_info['sku'];

2.) Опять же идем править языковый файл. Находится он по следующему пути — catalog/language/russian/product/product.php.

В нем находим строчку:

$_['text_model']        = 'Модель:';

И под ней добавляем:

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

3.) Теперь осталось только вставить код в файл шаблона и все. Находится этот файл по адресу — catalog/view/theme/default/template/product/product.tpl.

Открываем данный файл с помощью редактора, и вставляем код в любое удобное для вас место. Поскольку я повсюду привязывался к модели, то и тут сделаю также.

Находите код:

<span><?php echo $text_model; ?></span> <?php echo $model; ?>

И добавляем под ним свой:

<span><?php echo $text_sku; ?></span> <?php echo $sku; ?>

На этом все, возможно кому-то пригодится. Ждите новых фишек и оставляйте свои комментарии.

27 комментариев

  1. Здравствуйте, пытался вывести артикул в категории по Вашей технологии, у Вас ошибка в 3 пункте, исправте пожалуйста, name на sku

  2. Добрый вечер, спасибо, подправил.

  3. а подскажите плз, как вывести sku в модуль рекомендуемые, последние поступления и акции

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

  5. Сделал все как выше написано, но после этого именно в продукте шапка съехала на пару пикселей. Из-за чего это?

  6. Если сделано все правильно, то съезжать шапка не должна. Нужно смотреть сам сайт, чтобы решить проблему.

  7. Здравствуйте, не могли бы Вы мне помочь, необходимо вывести атрибуты товара в счете клиента. Оч нужно!!!!
    Сам ковырялся ничего не выходит.

  8. Андрей, на данный момент я не занимаюсь другими сайтами, а только выкладываю небольшие заметки.

  9. Как сделать вывод артикуля в отчёте о заказе админу?

  10. Василий, к сожалению с этим сейчас Вам не помогу. Если найдете решение буду очень благодарен если поделитесь с читателями блога.

  11. Спасибо что подсказали про FilterPro, мучился целый день и не понимал в чем же дело и почему не добавляет.

  12. все сделал, в карточке товара появилась графа Артикул, возник вопрос, если у товара в админке убрать номер артикула, как сделать, чтобы автоматом надпись пропала с карточки товара, не отображалась без значений там????

  13. Благодарю, за простое и понятно изложение!
    Не планируете разобрать создание модуля Opencart 2.x для чайников?

  14. Столкнулся с такой проблемой, все сделал по инструкции и все работает, но когда переходишь на страницу в категориях товара или выбираешь другой фильтр сортировки, то значение sku пропадает — покапался в файлах, а проблему так и не получилось решить

  15. Михаил, вслучае использования Filter Pro, Вам нужно добавить все строки и в файлы этого модуля, поскольку он заменяет вывод стандартного шаблона категории на свой, поэтому и пропадает значение SKU.

  16. «Если у вас установлен FilterPro, то значение SCU выводится не будет.»
    Попробуйте закрыть после
    Итого будет так:

    У меня заработало, правда, с coolfilter.

  17. Добрый день. Как вывести артикул SKU не в карточке товара, не в каталоге товара, а только в счете при распечатывании. P.S. Вы спрашивали зачем это нужно, поясняю, каждый товар имеет код, и при выдаче чека через кассовый аппарат в него нужно вбивать код товара. Чтобы его не искать в отдельном журнале, поэтому удобнее, когда при распечатывании счеты, код товара (артикул SKU) видишь только ты.
    Спасибо за ответ.

  18. Не подскажите а нет решения если стоит модуль FilterPro
    спасибо за ответ

  19. Отлично, все получилось! Спасибо автору, до этого пытался реализовать по другому способу, был просто белый экран на карточке товара ))

  20. Dea, решение есть, нужно проделать все те же действия что и для категории, только для файлов filterpro а именно найти шаблон .tpl и подправить также файл контроллера. Там нужно смотреть что именно за версия фильтр про установлена.

  21. виталий, постараюсь написать заметку о решении Вашего вопроса.

  22. Светт, с coolfilter проблем не возникало никогда. Проблема актуальна только для Filter Pro.

  23. Здравствуйте. Сделала все как описано, а артикул так и не появился (. Стоит OCFilter. Может он блокировать? И как проверить если это он.

    Уже голову сломала. Заранее спасибо за ответ. 🙂

  24. можно ли научить артикул понимать html код?

  25. Сделал, появились знаки вопроса. Вернул все назад — знаки остались.
    Что сделать, как убраать?

  26. Если несложно подскажите как убрать поле если нет артикла у товара, у допусти 990 есть а у 10 нет, чтобы не отображалось….и да щас вроде строчка вот так будит

    Артикул: а не спан

  27. Возможно сбилась кодировка одного из файлов при сохранении, восстановите исправленные файлы из бекапа.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *