Вход на сайт

Отличия OCMOD от VQMOD модификаций Opencart


В этой статье я раскажу вам как адаптировать модули VQMOD под Opencart 2, то есть переделать их в формат новой системы модификаций OCMOD. Отличий немного, поэтому вы запросто сможете переделать любой vqmod в ocmod файл. OCMOD установщик намного удобнее своего младшего брата VQMOD, он позволяет управлять модификациями из админки Opencart 2 сайта.

Параметры операций в модификациях OCMOD:

<file path="catalog/controller/module/{latest,featured}.php">
   path - адрес файла или файлов для модификации. Если нужно перечислить несколько файлов - заключаем их названия в фигурные скобки и разделяем запятой. Если нужно модифицировать все файлы в каталоге или файлы во всех каталогах используйте звездочку: path="catalog/view/theme/*/template/common/header.tpl"

<operation error="skip|abort">
   error = 'skip'  - пропускает текущую операцию если позиция не найдена
    error = 'abort' - останавливает выполнение мода если позиция не найдена
            В обоих случаях событие записывается в лог модификаторов

<search trim="true|flase" index="0|1|2...">

   trim  - (true|flase) - игнорирование пробелов в строке
    index - позволяет задать число искомой строки для поиска. Аналогично index в vqmod, за исключением: в vqmod - index="2" вернет 2-е совпадение в файле, в ocmod index="2" вернет 3-е совпадение в файле. Можно перечислить через запятую нужные варианты: index="1,3,7". (не используй без нужды, в Opencart v2.0.0.1b поведение не прогнозируемое). Есть нюанс: в Opencart v2.0.0.1b если index="0" - будет возвращать все совпадения из <search></search>. Если нужно найти только первое совпадение - используй index="0,40", где 40 - несуществующее к-во совпадений.

<add position="before|after|replace" trim="true|flase" offset="0|1|2..">

   trim     - (true|flase) $add = trim($add)
    position - (before|after|replace) Поведение аналогично position в vqmod. Направление вставки текста (before|after) относительно искомой строки  или замены текста в случае repalce.
    offset   - аналогично offset в vqmod. Смещение в строках относительно position. Как и в vqmod: 0 - первая строка

Отличия файлов OCMOD от VQMOD

1. Атрибуты:
  • вместо id теперь атрибут code, это обязательный атрибут OCMOD, он должен быть уникальным
  • vqmver - не нужен 
  • name - название модификации
  • version - версия модификации
  • author - разработчик модификации
  • link - сайт разработчика модуля
2. Остались операторы replace, before, after, regex, offset, limit.  Отличается и работа offset. Отсутствуют ignoreif, log.

3. Позиция указывается не в элементе search
<search position="replace">
а в элементе add
<add position="replace">

4. Название файла указывается не через свойство name
<file name="catalog/controller/product/search.php">
а через path
<file path="catalog/controller/product/search.php">

Адаптация VQMOD на OCMOD

Модули Opencart 2 могут состоять из одного файла (должен иметь расширение .ocmod.xml) или нескольких, упакованных в архив с расширением .ocmod.zip. В архиве могут находиться XML, SQL и PHP файлы:
upload/*
install.sql
install.xml
Все файлы из папки `upload` будут скопированы в папку, куда установлен Opencart.
В install.sql можно добавить все необходимые SQL-запросы (create, drop, insert, update), которые должны быть исполнены при установке модуля. Каждый запрос должен заканчиваться символом ;.
Если модуль требует каких-то дополнительных действий для установки, PHP код надо разместить в файле `install.php`.

Пример оформления файла OCMOD:

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Modification Default</name> <code>modification-unic-code</code>
    <version>1.0</version>
    <author>Opencart2x Site</author>
    <link>https://opencart2x.ru</link>
    <file path="catalog/controller/common/home.php">
        <operation>
            <search trim="true"><![CDATA[
            $data['column_left'] = $this->load->controller('common/column_left');
            ]]></search>
            <add position="after"><![CDATA[
            $data['test'] = 'test123';
            ]]></add>
        </operation>
    </file>  
</modification>
Дата публикации:

Популярные модули Opencart 2
Модуль Купить в один клик Opencart 2

Модуль Купить в один клик Opencart 2

Модуль оформления заказа в один клик для Opencart 2.x - это быстрое оформление заказа в один клик в ..

Всего 199 руб.

Модуль Мега-меню для Opencart 2

Модуль Мега-меню для Opencart 2

Модуль Мега-меню Opencart 2 - дополнение для создания меню. Быстрая установка всего в несколько кли..

Всего 199 руб.

Модуль Вход через соц.сети Opencart 2

Модуль Вход через соц.сети Opencart 2

Модуль Вход через социальные сети Opencart 2 - это модуль авторизации клиентов через популярные соцс..

Всего 199 руб.

Модуль Всплывающая корзина Opencart 2

Модуль Всплывающая корзина Opencart 2

Модуль Всплывающая корзина Opencart 2.x - это широкофункциональный модуль, возможности которого тяже..

Всего 249 руб.

Модуль Фотогалерея Opencart 2.x

Модуль Фотогалерея Opencart 2.x

Модуль Фотогалерея Opencart 2.x - поможет создавать вам свои фотоальбомы и публиковать их на сайтеЭт..

Всего 249 руб.

Модуль Менеджер заказов Opencart 2

Модуль Менеджер заказов Opencart 2

Модуль Менеджер заказов Opencart 2.x - модуль для управления заказами из админки. Модуль позвол..

Всего 249 руб.

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2 - для импорта yml-файла с товарами в Ваш интернет-магазин. Импорт ..

Всего 249 руб.

Расширенные отчеты по заказам и продажам для Opencart 2

Расширенные отчеты по заказам и продажам для Opencart 2

Модуль Расширенные отчеты по заказам и продажам для Opencart 2 - это дополнений, которое позволит ва..

Всего 249 руб.

Модуль Упрощенный заказ на Opencart 2.x

Модуль Упрощенный заказ на Opencart 2.x

Модуль упрощенного заказа Custom Quick Checkout Opencart 2 - по сути модуль заказа на одной странице..

Всего 249 руб.

Модуль Заказ в 1 клик Opencart 2

Модуль Заказ в 1 клик Opencart 2

Модуль Быстрый заказ в 1 клик Opencart2 - очень удобное дополнение для вашего магазина.Позволяет упр..

Всего 249 руб.

Модуль Яндекс.Деньги для Opencart 2

Модуль Яндекс.Деньги для Opencart 2

Модуль оплаты Яндекс Деньги для Opencart 2 - платежный модуль, который позволит принимать платежи с ..

Всего 249 руб.

Модуль Webmoney для Opencart 2.x

Модуль Webmoney для Opencart 2.x

Модуль оплаты Webmoney для Opencart 2 предназначен для оплаты товаров через популярную систему ..

Всего 249 руб.

Рекомендуем