Вход на сайт

Регистрация на сайте автоматическая при оформлении первого заказа

Отличия 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
Модуль Упрощенный заказ Custom Quick Checkout на Opencart 2.x

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

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

Всего 249 руб.

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

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

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

Всего 249 руб.

Модуль Корзина Popup для Opencart 2

Модуль Корзина Popup для Opencart 2

Модуль popup-корзины товаров на Opencart 2. Попап окно появляеться после добавления товара в корзину..

Всего 249 руб.

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

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

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

Всего 249 руб.

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2

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

Всего 249 руб.

Модуль Export YML - экспорт в Яндекс для Opencart 2

Модуль Export YML - экспорт в Яндекс для Opencart 2

Модуль экспорта товаров на площадку Яндекс.Маркет. Модуль YML Export Opencart 2.x. Позволяет генерир..

Всего 199 руб.

Модуль Горизонтальное мега-меню Opencart 2.x

Модуль Горизонтальное мега-меню Opencart 2.x

Модуль для формирования многоуровневого меню на основе категорий, производителей, товаров, страниц, ..

Всего 249 руб.

Модуль Вертикальное мегаменю для Opencart 2.x

Модуль Вертикальное мегаменю для Opencart 2.x

Модуль для создания вертикального мега-меню в колонке на Opencart 2.x. Очень многофункциональное доп..

Всего 249 руб.

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

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

Большим недостатком системы Opencart 2.x является отсутствие нормального блога записей. Ведь почти к..

Всего 299 руб.

Модуль Менеджер рассылки для Opencart 2

Модуль Менеджер рассылки для Opencart 2

Менеджер рассылки - модуль для управления подпиской и рассылкой, он поможет вам упростить процесс сб..

Всего 299 руб.

Модуль Стикеры на товары для Opencart 2

Модуль Стикеры на товары для Opencart 2

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

Всего 249 руб.

Слайдер Revolution для Opencart 2.0 - 2.3

Слайдер Revolution для Opencart 2.0 - 2.3

Слайдер №1 для Opencart 2 - это Revolution Slider. Многофукциональный модуль для слайдшоу позволяет ..

Всего 249 руб.

Рекомендуем