vQmod – Общ преглед, Инсталация в OpenCart

5/5 - (1 гласа)

Какво е vQmod?

vQmod (virtual Quick mod) е PHP клас, който предоставя възможност да се създават модификационни скриптове, които променят оригиналния код в процеса на изпълнение. Важно е да се разбере, че промените се извършват в движение и реално не се променят оригиналния код. Всичко се извършва във временен файл, като той се включва на мястото на оригинала. Това дава огромни възможности за разработка, като същевременно и допълнително ниво на сигурност.

Как работи vQmod?

Вместо да се променят оригиналните файлове и код, vQmod променят файловете по време на изпълнение, като следи за следните PHP функции:

  • include()
  • include_once()
  • require()
  • require_once()

Точно преди тяхното изпълнение, vQmod се задейства. Оригиналният код се копира във временен файл, а допълнителните външни модификации се извършват върху временния файл. Същият този файл се използва след това в include() функцията. По този начин не се извършват никакви реални промените по източника. За да се деинсталира скрипт, например, просто трябва да се премахне xml модификацията и нещата се връщат към оригинала.

vQmod класът е написан на PHP, като скриптовите файлове се базират на xml. Към настоящият момент, vQmod е напълно тестван и широко използван в платформата OpenCart. Могат да се създават много различни функционалности към тази система за електронна търговия и не е случайно, че по – голямата част от разширенията за OpenCart ползват vQmod.

Инстралиране на vQmod в OpenCart.

opencart vqmodМожете да извършите инсталация, както и да свалите автоматичен инсталатор на vQmod. Ако сте начинаещ, използвайте този вид инсталация. Автоматичен инсталатор и инструкции, може да намерите тук: Easy Instraller

Ако предпочитате ръчно да инсталирате vQmod:

1. Свалете vQmod от официалния източник;
2. Разархивирайте и копирайте папката vqmod в главната директория на магазина;
3. Променете правата за запис на папките:
/vqmod
/vqmod/vqcache
Достъпът трябва да е пълен, т.е. 777.
4. Понякога се налага да промените и правата за писане на /index.php и /admin/ index.php;
5. Отворете линка http://your-site.com/vqmod/install;
6. Трябва да видите съобщение за успешна инсталация;
7. Променете правата на файловете и директориите обратно, съгласно изискванията за сигурност на системата;

XML тагове във vQmod

Основни тагове

<modification> – Главен елемент, може да бъде само един във файла;
<id> – Име и идентификатор на модификацията;
<version> – Версия на модификацията в формат “1.0.0”;
<vqmver> – Минималната версия на vQmod във формат “1.0.0”;
<author> – Името на автора;
<file> – Име на файла за промяна. Задава се от главната директория на сайта. Например /catalog/controller/product/product.php. Този таг може да се използва повече от веднъж във всички xml файлове;
<operation> – Това е wrapper на конкретна операция определена в таг <file>;
<search> – Първата стъпка за изпълнение на модификацията. Може да намери само един ред. Този етикет може да бъде само един по отношение на <operation>. Задължителен атрибут е “position” може да взема стойности before, after, replace, top, bottom и all.

Стойности на атрибут position

replace – Замества целия код в <search> с кода от тага <add>. Той е по подразбиране;
before – Поставя данните от <add> преди данните от <search>;
after – Поставя данните от <add> след данните от <search>;
top – Поставя данните от <add> в самото начало на файла, като данните от <search> ще бъдат игнорирани;
bottom – поставя данните от <add> в края на файла, като данните от <search> ще бъдат игнорирани;
all – заменя всички данни с данните от <add>, като данните от <search> ще бъдат игнорирани;

Незадължителния атрибут “offset” се използва за работа с позицията на кода за поставяне.

Ако в “position” е поставено “before“, а в “offset” е поставено 3, тогава кодът от <add> ще бъде вмъкнат на 3 реда преди посоченото местоположение.
Ако в “position” е поставено “after“, а в “offset” е поставено 3 тогава данните от <add> ще бъдат вмъкнати на 3 реда след посоченото местоположение.
Ако в “position” е поставено “replace“, а в “offset” е поставено 3 тогава желаните данни ще бъдат заменени с данните от <add>;
Ако в “position” е поставено “top“, а в “offset” е поставено 3, данните ще се вмъкват на три реда от началото на файла;
Ако в “position” е поставено “bottom“, а в “offset” е поставено 3 данните ще се вмъкват на три линии след края на файла;

Как да проверите vQmod версията във вашия OpenCart магазин?

1. Отидете в главната директория на OpenCart инсталацията;
2. Отворете папката vqmod;
3. Отворете файла vqmod.php с обикновен текстов редактор или среда за разработка;
4. Трябва да видите версията на vQmod в променливата $_vqversion, както е показано на изображението по – долу:

vqmod

5. В конкретния случай, версията е 2.4.1.

Ограничения vQmod

На теория vQmod може да се използва в почти всяка платформа, използваща контролери. Все пак, дори и в такава система, като OpenCart има някои ограничения. vQmod не може да се използва за следните файлове:

  • index.php – Понеже това е най – главния файл в целия сайт, той трябва да зареди vQmod класа. Без да се е заредил, няма как да прави каквито и да е модификации;
  • самостоятелни файлове, без йерархични зависимости – Както казахме, vQmod прихваща функции, като include(). Съответно, ако файлът не е използва такива функции, не се изисква от друг или не изисква друг файл, не може да се създаде модификация;
  • CSS и JavaScript файлове – понеже тези файлове се рендират на ниво браузер, vQmod няма как да окаже ефект върху тях.

За да видите още полезна информация и уроци, посетете страницата с онлайн обучението за OpenCart.