Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

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


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

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

articul.png.45a392bc0f9a6dae965a7f1a308d8f78.png

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

art.png.d3f392d59a89b87231e1d3bbb86b84cf.png

Итак, если вы немного знакомы с тем как работает движок, у вас уже есть представление о контроллере, и виде. Данная концепция разделения кода и отображения (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 будет передано значение самого артикула.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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