От новичка до продвинутого пользователя Opencart (Часть 7) — Больше о разработке модулей

Больше о разработке модулей

Добро пожаловать снова в серию статей о разработке в Opencart. В нашей предыдущей статье о модульной разработке мы создали наш первый модуль Hello World, используя MVC в отношении панели администратора.

В данной статье мы собираемся создать модуль для фронтэнда. Я бы рекомендовал вам пересмотреть мою предыдущую статью, если вы этого еще не сделали. Многие разработчики опасаются заниматься разработкой модулей для Opencart после того как они в первый раз попытаются найти доступные модули, но на самом деле разрабатывать новую функциональность для Opencart это очень просто.

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

Конфигурация модуля

1. Поместите некоторое значение в поле «Hello World Code».

2. Установите раскладку, позицию, статус и порядок сортировки как показано на следующем скриншоте.

Для понимания того, что такое раскладки, вы можете прочесть мою статью о конфигурации Opencart.

Создание контроллера магазина

1. Перейдите в catalog/controller/module и создайте новый PHP-файл.

2. Назовите файл как helloworld.php.

3. Откройте этот файл в вашей любимой IDE и, используя соглашение об именовании классов Opencart, создайте класс в файле: class ControllerModuleHelloworld extends Controller {}.

4. Создайте функцию по умолчанию внутри класса, например, public function index() {}. (Для справки, пожалуйста, прочтите эту статью)

5. Внутри функции по умолчанию index(), напишите следующий код:

$this->language->load('module/helloworld'); // loads the language file of helloworld
 
$this->data['heading_title'] = $this->language->get('heading_title'); // set the heading_title of the module
 
$this->data['helloworld_value'] = html_entity_decode($this->config->get('helloworld_text_field')); // gets the saved value of helloworld text field and parses it to a variable to use this inside our module view
 
$this->template = $this->config->get('config_template') . '/template/module/helloworld.tpl'; // Template path of store helloworld module
 
 
$this->render(); // renders the output

И на этом мы закончили создание нашего контроллера.

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

Создание вида для магазина

1. Перейдите в папку шаблона по умолчанию для вашего магазина. В моем случае это:

catalog/view/theme/default/template/module.

2. Создайте новый файл шаблона.

3. Назовите его helloworld.tpl.

4. Вы можете написать ваш собственный HTML-код для отображения контента вашего модуля. Я же напишу следующее:

<div class=»box»>
<div class=»box-heading»><?php echo $heading_title; ?></div>
<div class=»box-content» style=»text-align: center;»><?php echo $helloworld_value; ?></div>
</div>

Создание языкового файла

1. Создайте языковой файл helloworld.php внутри вашей папки catalog/language/(language)/module.

2. Добавьте некоторые языковые данные внутрь вашего языкового файла, в моем случае:
<?php

// Heading

$_[‘heading_title’] = ‘Hello World Title’;

?>
Если ваш сайт является многоязычным, то поместите языковой файл во все папки для ваших языков.

Что мы только что сделали?

В основном, наш модуль работает просто, поскольку он берет единичный ввод из панели администратора и отображает это значение на фронтенд-странице. В этой связи вы добавили некоторые пустые данные из бэкенда модуля «Hello World» и установили раскладки и позиционирование в тех местах, где эти модули должны быть отображены. В нашем случае, этими раскладками являются Контакт (Contact) и Аккаунт (Account) и их позиции в левой колонке (Column Lest) и правой колонке (Column Right).

Тестирование нашей работы

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

1. Вы можете перейти на страницу Контакты (Contact Us), нажав на соответствующую ссылку внизу страницы, или ввести в адресную строку браузера http://localhost/OpencartStore/index.php?route=information/contact.

Чудесно! Наш модуль появился в позиции справа и в правой раскладке. Это значит, что наша работа привела нас к успеху. Вы также можете проверить, отображается ли ваш модуль в Раскладке Аккаунтов (Accounts Layout) или нет. Если вы правильно следовали вышеуказанным шагам, то ваш модуль должен быть отображен здесь.

Заключение

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

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