Как вывести артикул в карточке товара Opencart2x?

В одной из наших предыдущих статей, мы узнали с Вами как оплачивать заказы в Российских интернет-магазинах из Украины, с помощью сервиса BestChange.

В этой статье, я расскажу Вам как вывести значение поля Артикула в карточке товара в сборке ocStore 2.3.

В движке Opencart 2x в товаре есть множество полей с разными данными, но не все из них выводятся в карточке товара. Одним из таких полей является поле Артикул товара или его ещё называют SKU. Поле SKU есть в админке сайта во вкладке товара Данные, но артикул не выводится в карточке товара на витрине, даже если Вы его заполнили в админке.

Кстати говоря, в большинстве платных шаблонов, есть возможность вывести Артикул в карточке товара, с помощью настроек шаблона, в админке, без необходимости правки исходного кода.

Вот пример того как это выглядит в настройках шаблона Fractal.

Лично я впервые столкнулся с необходимостью вывода Артикула в карточке, когда начал использовать модуль автоматической обработки прайс-листов, для импорта товаров поставщика из прайса. Так как модуль импортирует и обновляет товары именно в привязке к полю Артикула (SKU), и очень удобно когда этот же самый артикул выведен в карточке товара и клиент может сильно упростить поиск нужного товара просто назвав менеджеру код артикула.

Да конечно есть ещё поле Код товара, но оно генерируется автоматически самим движком Opencart и оно никак не привязано к артикулу поставщика.

Итак для того чтобы вывести значение Артикула (SKU) в карточке товара нужно:

1. Подключится к нашему FTP серверу с помощью программы FileZilla.

2. Открыть файл контроллера товара product.php

Во избежание ошибок, открывать файл контроллера стоит только с помощью специального текстового редактора NotePad++, не используйте стандартный блокнот!

Файл находится по пути catalog/controller/product/product.php

3. Найти в файле product.php строку кода:

С помощью поиска, нажав CTRL+F ищем в файле строчку с кодом:

$data['model'] = $product_info['model'];

И после неё добавляем строку кода:

$data['sku'] = $product_info['sku'];

Чтобы получилось как на скриншоте:

Далее сохранить изменения в файле и загрузить их на сервер.

4. Открыть файл product.tpl

Который находится в директории  catalog/view/theme/default/template/product/product.tpl

Обратите внимание, что если у Вас не дефолтный шаблон, то вместо папки default (в пути файла) вам нужно войти в папку с именем вашего шаблона.

Например, если у Вас установлен шаблон NewStore то заходим по пути catalog/view/theme/newstore/template/product/product.tpl.

Далее ищем строку с кодом:

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

И добавляем после неё или до (в зависимости от того в каком месте хотите вывести артикул), следующий код:

<?php if($sku): ?>
 <li>Артикул: <?=$sku;?></li>
<?php endif; ?>

Далее сохраняем изменения в файле и загружаем их на сервер.

Обновляем страницу в браузере, нажав F5, в карточке товара, чтобы проверить результат:

Первая строчка кода выводит Код товара в карточке, если он Вам не нужен можете просто заменить эту строку, и тогда вместо поля Код товара у Вас будет выводится Артикул.

Данный способ выводит имя поля Артикул только для одного типа перевода, если у Вас мультиязычный магазин, то он вам не подойдёт, для всех языков будет выводиться один и тот же текст.


Понравилась статья? Поставьте лайк, и напишите Ваш комментарий!

Так же делитесь статьёй со своими друзьями и знакомыми в социальных сетях!


Остались вопросы? Задайте их в комментариях, и я обязательно отвечу.

Хотите узнать больше об OpenCart? Подписывайтесь на мой Youtube канал!

0 0 голоса
Рейтинг статьи

Вам так же может понравиться

Об авторе: Admin

Подписаться
Уведомить о

3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
5 лет назад

Хорошая статья!!!
Как вывести Артикул и Код Товара, чтобы он отображался в Категориях???

Владимир
5 лет назад

Полезная статья, помогла
Вопрос: если необходимо убрать производителя из карточки товара, то по аналогии
с SKU
Нужно убрать строки
из product.php:
$data[‘manufacturer’] = $product_info[‘manufacturer’];
$data[‘manufacturers’] = $this->url->link(‘product/manufacturer/info’, ‘manufacturer_id=’ . $product_info[‘manufacturer_id’]);

и из product.tpl

###<?php if ($manufacturer) { ?…..###
###

  • <a href="»><?php echo $r; man….###

    Правильно или достаточно какой-то одной?

    Еще вопрос насчет синтаксиса
    Между <![CDATA[ …можно только одну строку писать или кусок кода какого угодно размера?