О web-разработке
и даже немного больше...

Вывод артикула в OpenCart

Стандартное исполнение интернет-магазина на движке OpenCart позволяет выполнить покупателю и продавцу выполнить элементарные вещи, это найти интересующий товар в каталоге, положить его в корзину, и оформить заказ. Иногда этого бывает вполне достаточно для функционирование простого магазина на OpentCart. Однако рано или поздно те или иные доработки интернет-магазина приведут к тому, что возникнет необходимость оперировать дополнительными данными в системе. Как мы знаем в администраторской части по умолчанию предусмотрено множество полей с различными данными, однако не все из них показываются в публичной части сайта, далее речь пойдет о данных в карточки товара. В этом посту рассмотрим простой пример, как можно вывести артикул в OpenCart на карточке товара. Артикул товара вы можете заметить в администраторской части, на форме редактирования товара.

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

Итак, если вы немного знакомы с тем как работает движок, у вас уже есть представление о контроллере, и виде. Данная концепция разделения кода и отображения (MVC) в целом используется в подавляющем большинстве движков, по этой причине если вам уже приходилось сталкиваться с подобным, вам будет проще.

Первым делом, нужно добавить данные в контроллере, чтобы в последующем ими можно было воспользоваться в «виде» страницы.

Откройте файл контроллера:
catalog/controller/product/product.php

Далее следует найти строку вида:

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

Добавьте перед этой строкой или после строку:

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

Передавая в массив данные с ключом sku в шаблоне отображения страницы, мы теперь получим переменную $sku, в которой собственно и будет находиться значение артикула. Таким образом, при надобности можно производить какие-либо манипуляции с данными, мы же просто выведем значение этой переменной в шаблоне активной темы.

Откройте шаблон отображения страницы товара:
catalog/view/theme/mytheme/template/product/product.tpl

Далее найдите следующую строку кода:

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

Добавляем вывод значения переменной $sku:

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

В примере мы название параметра «Артикул» прямо в самом шаблоне. Хорошим тоном является выводить данные значения в языковые файлы. Это избавить вас от лишней волокиты при переключении языков на сайте. Добавить значение в языковой файл не составляет большого труда, давайте это сделаем. Первым делом следует добавить значение в языковой файл, который располагается по следующему пути:
catalog/language/язык_сайта

Добавляем в начале или в конце строку:

$_['text_sku'] = 'Vendor Code:'; // для анг. языка
$_['text_sku'] = 'Артикул:'; // для русского языка

Далее, как и говорилось ранее, чтобы воспользоваться значениями в самом шаблоне отображения, в контроллере следует добавить данные в массив:

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

Имя параметра будет взято в соответствии с текущим языком сайта. В свою очередь в шаблоне отображения следует вписать переменную $text_sku таким образом:

<li><?= $text_sku; ?> <?=$sku;?></li>

После сохранения изменений самое время проверить результаты правок. Если всё было верно, то в качестве значения в переменной $text_sku будет передано название параметра SKU на языке сайта, а в переменной $sku будет передано значение самого артикула.

Опубликован: 19.04.2019 г.

См. также:

Обращение к модели в контроллере OpenCart
Платёжные системы в OpenCart
Переключение OpenCart с HTTP на HTTPS
Сброс пароля администратора в OpenCart
Как в OpenCart очистить кэш?
Как установить модуль в OpenCart 2.x?
Как поменять статус заказа в OpenCart?
Отправка писем в OpenCart

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

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

Комментарии
  • Загрузка...
Друзья сайта