Пишем свой модуль (расширение) для Opencart

28.04.2015 09:06:02
Краткая памятка о том, как подключить свое расширение к Opencart

В этой системе (и ее производной ocShop) применяется подход MVC, т.ч. все файлы создаются в этой логике.
Пусть имя расширения будет extension

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

Языковые файлы хранятся в
catalog\language\russian\extension\go.php
где, russian – язык сайта.
extension – название расширения
go – действие которое нужно выполнить. Т.е. отрабатываться наше расширение будет по адресу: index.php?route=extension/go

Данные хранятся в формате — переменная = значение.
Пример: $_['title1'] = 'My ext';

Создание модели

Модель располагается в catalog\model\extension\go.php

В файле нужно создать класс с именем ModelХХYY, где ХХ – в нашем случае название папки (extension), а YY – название файла (go).

Получается ModelExtensionGo .Этот класс должен быть наследником базового класса Model:

class ModelExtensionGo extends Model

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

Контроллер лежит по адресу: catalog\controller\extension\go.php
Его класс будет иметь вид:

class ControllerExtensionGo extends Controller

При вызове контроллера по умолчанию вызывается функция index(). Что бы использовать функции из модели необходимо ее подключить:

$this->load->model('extension/go');

Аналогичным образом можна подключать любую другую модель. Например модель OpenCart для работы с товарами подключаем так:

$this->load->model('catalog/product');

Теперь можно вызывать функции модели :

$aItems = $this->model_extension_go ->get_items();

Так же подключаем наш языковой файл:

$this->language->load('catalog/product');

Получить значение из языкового файла можно так:
$this->language->get(’XX’), где XX – название переменной.

Создание вида (представления/шаблона)

В файле catalog\view\theme\default\template\extension\go.tpl, описываем HTML код страницы, на которой выводится наш прайс-лист. В шаблоне используются такие переменные:

  • Переменные системы OpenCart: $header, $column_left, $column_right, $footer.
  • Переменные, которые передал контроллер: $heading_title, $main_title, $category $product. При создании шаблона вы должны сверстать его под свой конкретный сайт.

 

И все, теперь расширение доступно по адресу index.php?route=extension/go


Категории: openCart
Яндекс.Метрика