Как вывести артикул в OpenCart

Как вывести артикул в OpenCart

От автора: приветствую вас, друзья. Итак, мы продолжаем цикл статей, посвященных знакомству с одной из популярнейших CMS для создания интернет-магазинов – OpenCart (Опенкарт). В этой статье мы поговорим о том, как вывести артикул в OpenCart.

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

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

Сделать это не сложно, но придется немного покопаться в коде. Далее мы напрямую будем работать с файлами движка, что не является рекомендуемым путем. Но в следующих статьях мы будем рассматривать тему создания модулей для Опенкарт и сделаем все правильно, написать соответствующий модификатор.

Итак, давайте откроем файл контроллера товара – это файл catalog/controller/product/product.php – и найдем в нем следующую строку коде:

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

Данная строка кода получает в переменную поле артикула, которое в базе данных называется sku. Теперь в шаблоне активной темы (в моем случае это catalog/view/theme/mytheme/template/product/product.tpl) будет доступна переменная $sku, которую мы и можем использовать. Давайте выведем артикул после кода товара, третьей строкой:

Для этого найдем следующую строку кода:

И добавим после нее этот код:

Теперь взглянем на результат:

Отлично, артикул появился. Но это еще не все. Смотрите, мы прямо в шаблоне прописали наименование поля – Артикул. Если речь идет о русской версии сайта – тогда никаких проблем. Но если переключиться на английскую версию сайта или другой язык, который там используется, то мы, по-прежнему, будем видеть ту же строку – Артикул.

Как же перевести ее и показывать нужный перевод в зависимости от языка? Очень просто. В OpenCart есть языковые файлы, которые расположены в папке catalog/language/папка_языка. Нам необходимо вписать соответствующие переводные наименования именно туда и получить их затем в контроллере и использовать в шаблоне. Давайте попробуем.

В моем случае сайт использует два языка: английский и русский. В файл catalog/language/en-gb/product/product.php я добавлю в начало эту строку:

А в файл catalog/language/ru-ru/product/product.php – эту:

Теперь вернемся в контроллер product и там, где мы получали артикул, добавим строку, которая получит соответствующий перевод из нужного языкового файла:

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

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

Ну что же, на этом, пожалуй, остановимся. Больше об OpenCart вы можете узнать из наших бесплатных или платных уроков.

Метки:

Похожие статьи:

Комментарии Вконтакте: