CTAH
Well-Known Member
VirtualQMod, или "vQmod" е нововъведение в сферата на разработките на PHP модли.
Принципно с VQmod се правят промени в даден файл в движение по време на повикване на nclude(), include_once(), require(),
require_once(). Всички промени са извършеват във временен файл, а той вече sе влючва вместо на действителния файл.
Това дава невероятни възможности. Например, можете да генерирате в движение всякакво меню или да задълбаете в
дълбините на ядрото без да се боите че нищо от повреди.Разбира се, производителността на такава система е по-малка от
класическата. Но за бърза разработка няма нищо по-добро. Освен това, vQmod можете да се използвате по време на
разработването, като средство за тестване, а след завършването и да нанесете промените в самите файлове.
Инсталиране
И така, започваме. Инсталирането на vQmod в OpenCart може да бъде ръчно или автоматично. Нека да започнем с
автоматичното.
1) Свалете vQmod до официалниа сайт
2) Разархивирайте и копирайте папката vqmod в главната директория на магазина.
3) Даваме права за запис (777) на папките:
/vqmod
/vqmod/vqcache
4) Понякога трябва да зададете права за писане на / index.php и / admin/ index.php
5) Отваряме линка http://vashiasait.com/vqmod/install
6)Трябва да видите съобщение за успешна инсталация. С това автоматична инсталация е завършена.
Изтриването на папката install не е необходимо, то не е опасно. Инсталирането VQmod ще трябва да бъде рестартирано след
всеки ъпгрейд OpenCart.
Използване
vQmod скриптовете се базират на систематана .xml файлове, която първоначално е била построена на SMF (System
Management Service) методите за модификация.ова е една проста концепция, която е на разположение за употреба. Все пак,
не забравяйте, че за разлика от SMF, vQmod е нещо виртуални което не засяга реалните файлове.
Поставете свалените .Xml файлове в директорията / vqmod / XML / на сайта.
И това е! Ако няма промени по сайта тогава може XML файла да е предназначен за различна версия на OpenCart, просто да
го изтриете.
Нека видим какви таговете има .xml и какво означават.
<modification> - Най-важното родител, може да бъде само един в целия файл
<id> - Името и идентификатора на модула. Може да е произволен текст.
<version> -- версия на модификацията в формат "1.0.0"
<vqmver> минималната версия на vQmod във формат "1.0.0"
<author> - име на автора
<file> - името на фаила за промяна. Задава се от директорията на сайта, където седи index.php. Например
catalog/controller/product/product.php. Този таг може да се използва няколко пъти в всички . Xml файове.
<operation> - Това е wrapper /обертаг/ на конкретна операция определена в тага <file>. Атрибта "errors" може да има 2
значения "skip"прескачане на грешката и да продължиработа на модула) и "abort"(rollback all changes)
<search> Първа стъпка за испълнение на модификацията.Може да намери само един ред.Автоматично прекъсва
интервалите и новите редове.Този етикет може да бъде само един по отношение на етикет<operation> . Препоръчително е да
използвате CDATA за край на кода. Задължителен атрибут е "position" може да взема стойности before, after, replace, top,
bottom и all.
* 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 данните ще се вмъкват на три линии след края на файла
Не задължителния атрибут - "index" е за да укаже кои от намерените от <search> части от кода да бъдат взети под внимание.
Ако търсим "echo" и са намерени 5 "echo" но на нас ни трябват само 1 и 3 тогава можем да използваме index="1,3". Запетая
е за определяне на няколко елемента. За работа с всички елементи е необходимо да се използва index="false".
Не задължителния атрибут "regex". се поставя в true, ако търсенето се изпълнена с помощта на регулярни изрази.а да се
извърши нормално търсене, поставяме false(по подразбиране)
Не задължителния атрибут - "trim". Ако е необходимо да се търси без рязане и интервали поставяте false. По подразбиране,
интервалите са изрязани и е зададено да true. <add> Това е вторият етап от нашата работа с файла.Тя може да се състои от
няколко реда. Задължително само един на една операция операция. Трябва да затворите кода в CDATA.
Не задължителния атрибут - trim" Използва се също, както в търсенето, но по подразбиране е false.
<! [CDATA []]> - това sa CDATA XML таговете.Това означава, че данните в тях не трябва да се третират като XML.
vQmod прекрасно нещо, но не забравяйте, че когато го използвате, вие губите много от производителността. И накрая на
разработката може да се наложи да пренесете част от измененията в реалните файлове.
(с) cartopen.ru
Принципно с VQmod се правят промени в даден файл в движение по време на повикване на nclude(), include_once(), require(),
require_once(). Всички промени са извършеват във временен файл, а той вече sе влючва вместо на действителния файл.
Това дава невероятни възможности. Например, можете да генерирате в движение всякакво меню или да задълбаете в
дълбините на ядрото без да се боите че нищо от повреди.Разбира се, производителността на такава система е по-малка от
класическата. Но за бърза разработка няма нищо по-добро. Освен това, vQmod можете да се използвате по време на
разработването, като средство за тестване, а след завършването и да нанесете промените в самите файлове.
Инсталиране
И така, започваме. Инсталирането на vQmod в OpenCart може да бъде ръчно или автоматично. Нека да започнем с
автоматичното.
1) Свалете vQmod до официалниа сайт
2) Разархивирайте и копирайте папката vqmod в главната директория на магазина.
3) Даваме права за запис (777) на папките:
/vqmod
/vqmod/vqcache
4) Понякога трябва да зададете права за писане на / index.php и / admin/ index.php
5) Отваряме линка http://vashiasait.com/vqmod/install
6)Трябва да видите съобщение за успешна инсталация. С това автоматична инсталация е завършена.
Изтриването на папката install не е необходимо, то не е опасно. Инсталирането VQmod ще трябва да бъде рестартирано след
всеки ъпгрейд OpenCart.
Използване
vQmod скриптовете се базират на систематана .xml файлове, която първоначално е била построена на SMF (System
Management Service) методите за модификация.ова е една проста концепция, която е на разположение за употреба. Все пак,
не забравяйте, че за разлика от SMF, vQmod е нещо виртуални което не засяга реалните файлове.
Поставете свалените .Xml файлове в директорията / vqmod / XML / на сайта.
И това е! Ако няма промени по сайта тогава може XML файла да е предназначен за различна версия на OpenCart, просто да
го изтриете.
Нека видим какви таговете има .xml и какво означават.
<modification> - Най-важното родител, може да бъде само един в целия файл
<id> - Името и идентификатора на модула. Може да е произволен текст.
<version> -- версия на модификацията в формат "1.0.0"
<vqmver> минималната версия на vQmod във формат "1.0.0"
<author> - име на автора
<file> - името на фаила за промяна. Задава се от директорията на сайта, където седи index.php. Например
catalog/controller/product/product.php. Този таг може да се използва няколко пъти в всички . Xml файове.
<operation> - Това е wrapper /обертаг/ на конкретна операция определена в тага <file>. Атрибта "errors" може да има 2
значения "skip"прескачане на грешката и да продължиработа на модула) и "abort"(rollback all changes)
<search> Първа стъпка за испълнение на модификацията.Може да намери само един ред.Автоматично прекъсва
интервалите и новите редове.Този етикет може да бъде само един по отношение на етикет<operation> . Препоръчително е да
използвате CDATA за край на кода. Задължителен атрибут е "position" може да взема стойности before, after, replace, top,
bottom и all.
* 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 данните ще се вмъкват на три линии след края на файла
Не задължителния атрибут - "index" е за да укаже кои от намерените от <search> части от кода да бъдат взети под внимание.
Ако търсим "echo" и са намерени 5 "echo" но на нас ни трябват само 1 и 3 тогава можем да използваме index="1,3". Запетая
е за определяне на няколко елемента. За работа с всички елементи е необходимо да се използва index="false".
Не задължителния атрибут "regex". се поставя в true, ако търсенето се изпълнена с помощта на регулярни изрази.а да се
извърши нормално търсене, поставяме false(по подразбиране)
Не задължителния атрибут - "trim". Ако е необходимо да се търси без рязане и интервали поставяте false. По подразбиране,
интервалите са изрязани и е зададено да true. <add> Това е вторият етап от нашата работа с файла.Тя може да се състои от
няколко реда. Задължително само един на една операция операция. Трябва да затворите кода в CDATA.
Не задължителния атрибут - trim" Използва се също, както в търсенето, но по подразбиране е false.
<! [CDATA []]> - това sa CDATA XML таговете.Това означава, че данните в тях не трябва да се третират като XML.
vQmod прекрасно нещо, но не забравяйте, че когато го използвате, вие губите много от производителността. И накрая на
разработката може да се наложи да пренесете част от измененията в реалните файлове.
(с) cartopen.ru