vQmod (Virtual Quick Mod) - это система, которая виртуально вносит изменения в исходный код системы но при этом не затрагивая файлы на прямую. Изменения вносятся путем создания XML-файла, в котором программно описывается, что и где искать/заменять. Эти файлы обрабатываются во время загрузки страницы. Затем файлы с уже внесенными изменениями сохраняются как временные, после чего эти файлы будут использоваться в дальнейшем при загрузке страниц.
Данный функционал активно использовался на старых версиях в движках OpenCart 1.5.х После активного его использования пользователями, авторы OpenCart, решили и себе использовать такой же способ внесения правок для модулей. И с версии 2.0 в стандартный дистрибутив Opencart входит аналогичный модуль OCMod но более адаптирован к движку.
Установка затрагивает файлы:
- /.htaccess
/index.php(убрано в версии 2.2)/api/Simpla.php(убрано в версии 2.1)- /config/config.php
/simpla/index.php(убрано в версии 2.2)
- Скачиваем архив (приложенный ниже) и распаковываем его в корень сайта
- При необходимости выставляем права 755 на каталоги vqmod и vqmod/vqcache
- Проходим по ссылке http://ВАШ_САЙТ/vqmod/install
- Если увидели сообщение:
VQMOD HAS BEEN INSTALLED ON YOUR SYSTEM!
Значит все прошло успешно и можно начинать пользоваться
Наши моды ложим в папку vqmod/xml Что касается синтаксиса xml-файлов - то от авторов vqmod на англ или тоже самое на русском. Так же, если кому нужно, то можно установить генератор xml-файлов
- Проходим по ссылке http://ВАШ_САЙТ/vqmod/uninstall
- Вводим логин и пароль администратора.
- Если увидели в конце сообщение:
VQMOD HAS BEEN UNISTALLED ON YOUR SYSTEM!
Значит все успешно удалено.
- Выполняем удаление vqmod.
- Удаляем все содержимое (кроме папок cfg, mod и xml) с папки vqmod
- Дальше устанавливаем новую версию с заменой файлов кроме папки cfg (если там делались изменения)
После установки, в изменяемых файлах, появятся коды с комментариями:
#VQMOD#
..... code ...
#VQMOD_END#
Их удалять и изменять - нельзя. Иначе будет невозможна деинсталяция vqmod.
Примеры xml: Добавление нового поля к товару
Примеры mod: