Как создать модуль для Опенкарт. Часть 2

Как создать модуль для Опенкарт

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

Итак, в предыдущей статье мы с вами познакомились с основами создания модулей для Опенкарт. Пришло время написать модификатор OCMOD, который будет выполнять полезную функцию. В данном случае мы хотим, чтобы в карточке товара выводился артикул просматриваемого продукта. Начнем.

По сути, как вы, наверное, уже догадались, нам придется просто вырезать уже написанный код из файлов, который мы писали в одной из статей, и просто переносить его в файл XML модуля, чтобы после установки дополнения OpenCart создал копии соответствующих файлов и добавил в них нужный нам код.

Начнем с контроллера товара. В него мы добавили 2 строки кода:

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

Добавили мы их после вот этой строки:

Интернет-магазин на OpenCart!

Создайте интернет-магазин на самой популярной CMS – OpenCart с нуля!

Приступить к созданию
$data['model'] = $product_info['model'];

Эта строка в файле находится в единственном экземпляре, поэтому мы смело можем описать первую операцию модификатора:

<file path="catalog/controller/product/product.php">
 <operation>
 <search>
 <![CDATA[$data['model'] = $product_info['model'];]]>
 </search>
 <add position="after">
 <![CDATA[ $data['sku'] = $product_info['sku'];
 $data['text_sku'] = $this->language->get('text_sku');]]>
 </add>
 </operation>
</file>

Само собой, не забудьте удалить эти строки из оригинального файла product.php. Идем дальше, следующий файл – вид продукта. И операция будет такой:

<file path="catalog/view/theme/*/template/product/product.tpl">
 <operation>
 <search>
 <![CDATA[<?php if ($reward) { ?>]]>
 </search>
 <add position="before">
 <![CDATA[ <?php if($sku): ?>
 <li><?= $text_sku; ?> <?=$sku;?></li>
 <?php endif; ?>]]>
 </add>
 </operation>
</file>

Здесь мы ищем строку и в позицию перед ней добавляем нужный код, который, опять-таки, не забудьте удалить из шаблона темы. Также обратите внимание на то, что в пути к файлу название темы мы заменили звездочкой: catalog/view/theme/*/template/product/product.tpl

Ну что же, осталось лишь внести модификации в языковые файлы. Здесь мы можем добавить переводные фразы сразу после открывающего тега php:

<file path="catalog/language/en-gb/product/product.php">
 <operation>
 <search>
 <![CDATA[<?php]]>
 </search>
 <add position="after">
 <![CDATA[$_['text_sku'] = 'Vendor Code:';]]>
 </add>
 </operation>
</file>

<file path="catalog/language/ru-ru/product/product.php">
 <operation>
 <search>
 <![CDATA[<?php]]>
 </search>
 <add position="after">
 <![CDATA[$_['text_sku'] = 'Артикул:';]]>
 </add>
 </operation>
</file>

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

После этого повторно установим только что написанный модуль и обновим кэш. Если вы нигде не ошиблись, тогда в карточке товара мы увидим вывод артикула.

На всякий случай приведу итоговый код модификатора sku_wfm.ocmod.xml:

<?xml version="1.0" encoding="utf-8"?>
<modification>
 <name>Вывод артикула</name>
 <code>sku_wfm</code>
 <version>1.0</version>
 <author>Andrey</author>
 <link>https://webformyself.com </link>
 <file path="catalog/controller/product/product.php">
 <operation>
 <search>
 <![CDATA[$data['model'] = $product_info['model'];]]>
 </search>
 <add position="after">
 <![CDATA[ $data['sku'] = $product_info['sku'];
 $data['text_sku'] = $this->language->get('text_sku');]]>
 </add>
 </operation>
 </file>

 <file path="catalog/view/theme/*/template/product/product.tpl">
 <operation>
 <search>
 <![CDATA[<?php if ($reward) { ?>]]>
 </search>
 <add position="before">
 <![CDATA[ <?php if($sku): ?>
 <li><?= $text_sku; ?> <?=$sku;?></li>
 <?php endif; ?>]]>
 </add>
 </operation>
 </file>

 <file path="catalog/language/en-gb/product/product.php">
 <operation>
 <search>
 <![CDATA[<?php]]>
 </search>
 <add position="after">
 <![CDATA[$_['text_sku'] = 'Vendor Code:';]]>
 </add>
 </operation>
 </file>

 <file path="catalog/language/ru-ru/product/product.php">
 <operation>
 <search>
 <![CDATA[<?php]]>
 </search>
 <add position="after">
 <![CDATA[$_['text_sku'] = 'Артикул:';]]>
 </add>
 </operation>
 </file>
</modification>

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

Интернет-магазин на OpenCart!

Создайте интернет-магазин на самой популярной CMS – OpenCart с нуля!

Приступить к созданию
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Интернет-магазин на OpenCart

Создание магазина с уникальным шаблоном на CMS OpenCart

Научиться

Метки:

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

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

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree