Вывод 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 комментариев к данной статье
Павел

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

Сергей Нечипорук

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

Павел

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

Сергей Нечипорук

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

Сергей

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

Сергей Нечипорук

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

Андрей

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

Сергей Нечипорук

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

Василий

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

Сергей Нечипорук

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

Alex

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

Vanillaman

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

Webtimus

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

Михаил

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

Сергей Нечипорук

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

Светт

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

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

виталий

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

Dea

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

Александр

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

Сергей Нечипорук

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

Сергей Нечипорук

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

Сергей Нечипорук

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

Ирина

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

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

Игорь

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

Вик

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

Димка

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

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

Сергей Нечипорук

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

Оставить новый комментарий

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