vQmod для OpenCart и OcStore
Подумав, с чего бы начать, решил начать с начала.
Итак, сегодян уделим внимание такой интересной программерской «плюшке» для CMS OpenCart как
Итак,
Из минусов — некоторая потеря производительности в угоду универсальности. Что выбрать, решать, конечно Вам. На большинстве лично моих сайтов преимущества оказались более чем значительными, а потери — просто неощутимыми.
Ну а теперь, поехали разбираться!
Сначала скачаем
скачать различные версии
http://code.google.com/p/
Устанавливаем
— распаковываем скачанный архив в корень вашего сайта
— выставляем права на запись (chmod) 777 папкам
/
и
/
- идем по ссылке http://[ваш сайт]/
Папку «Install» можно не удалять — она пригодится Вам после обновления OpenCart (после каждого обновления нужно будет устанавливать
Готово!
Используем
Для
ВСЕ ОЧЕНЬ ПРОСТО, НЕ ТАК ЛИ?
Если Вы думаете, что на этом все, то Вы ошибаетесь. А как же воплощение собственных идей и модернизаций? Для этого нам придется понять,что находится внутри того самого файла и как самому создавать подобные XML-ки. Не устали еще читать? Тогда движемся дальше:
Открываем любой уже готовый XML-файл из папки /
Теги
<modification> — это главный тег, он просто обрамляет вес наш «модификатор» (назовем его так)
<id> — ну это, собственно, и есть не что иное как ID, т.е. название модификатора. Тут может быть абсолютно любой текст.
<version> — версия модификатора, задается в виде «1.0.0»
<vqmver> — это минимальная версия
<author> — тут совсем просто — это имя автора, создавшего данный чудо-модуль
<file> — имя файла, в который надо внести изменения. Тут с помощью атрибута name прописывается полный путь к файлу, начиная с папки, где лежит сайт (напр. name=»catalog/controller/product/product.php»). В одном XML-файле можно использовать несколько тегов <file>
<operation> — это еще один тег-обертка. Внутрь него помещаются данные об операции над файлом, определенном выше (в теге <file>). Тег может использоваться как без атрибутов, так и с атрибутом «errors», которому можно присвоить значение «skip»(игнорировать ошибки и продолжать работу) или «abort» (отменить все изменения). <operation> может использоваться несколько раз для нескольких различных изменений одного файла.
<search> — Этот тег может использоваться только один раз внутри тега <operation>, в этот тег заключается наша искомая строка (только одна). Обратите внимание, что пробелы и разрывы строк по-умолчанию будут автоматически обрезаться. Обязательный атрибут здесь один — «position». Он указывает, что именно необходимо будет сделать с искомым и новым текстами (кодами).
Тег «position» может принимать значения before, after, replace, top, bottom и all:
- replace — заменить весь текст (код), указанный в теге <search> на новый. Именно он используется по умолчанию (если не прописать атрибут «position» вообще)
- before — вставить новый текст перед текстом из <search>
- after — вставить новый текст после текста из <search>
- top — вставить новый текст в самом начале файла. (Текст, указанный в <search>, в данном случае роли не играет)
- bottom — вставить новый текст в конец файла. (Текст, указанный в <search>, в данном случае роли также не имеет значения)
- all — заменить все данные в файле новым текстом. (Текст, указанный в <search>, опять таки, никакой роли не играет)
Также с тегом <search> могут использоваться и необязательные атрибуты:
— offset — указывает отступ от найденного текста (кол-во строк). Например,
<search position="top" offset="5">
означает«вставить новый текст после 5-й строки от начала файла», а
<search position="before" offset="5">
значит «вставить новый текст на 5 строк ранее искомого текста»
- trim — обрезание пробелов. При необходимости искать текст,не обрезая пробелы, необходимо установить <search trim=»false» … >
— regex — если в искомой строке используются регулярные выражения, необходимо установить
<search regex="true" … >
(по умолчанию установлено false, т.е. поиск обычного текста)
- index — если искомых строк в файле может быть несколько, этот атрибут укажет, какую именно необходимо обрабатывать (напр., если «<span>какой-то текст</span>» встречается файле 5 раз, а нам необходимо модифицировать только второй и третий из них, указываем
<search index="2,3" … >
<add> — последний и очень простой тег
И последний немаловажный момент — текст, заключаемый в теги <search> и <add> необходимо также заключить в CDATA, тем самым указав
<search><![CDATA[ Искомый текст (код) ]]></search>
и, соответственно
<add><![CDATA[ Новый текст (код) ]]></add>
Таким образом, общая структура файла получается примерно такая:
<modification> <id></id> <version></version> <vqmver></vqmver> <author></author> <file> <operation> <search><![CDATA[ искомый текст (код) ]]></search> <add><![CDATA[ новый текст (код) ]]></add> </operation> </file> </modification>
Ну вот и все. Согласитесь,