Изменение ядра OpenCart с помощью модуля vQmod

Изменение ядра OpenCart с помощью модуля vQmod

От автора: OpenCart стал успешным фреймворком для маленьких и средних E-Commerce сайтов. Ядро OpenCart предлагает множество функций для магазина, но у него также есть и сторонние расширения, которые сыграли главную роль в успехе продукта. В некоторых случаях вам понадобится внести коррективы в ядро. В этом уроке мы узнаем, как это сделать с помощью расширения vQmod. Для изменений в OpenCart модули vQmod подходят как нельзя лучше.

vQmod – популярное расширение, с помощью которого можно вносить изменения, не редактируя напрямую файлы ядра. Цитата с официального сайта vQmod:

«vQmod (или Virtual Quick Mod) система перезаписи, спроектированная таким образом, чтобы не редактировать файлы ядра. Концепция очень простая… вместо изменения файлов ядра изменения создаются в виде xml файлов-скриптов, которые находят необходимые участки и заменяют их. Эти скрипты парсятся во время загрузки страницы, пока исходный файл ядра загружается с помощью php функций include или require. Во время выполнения временный файл заменяется на оригинал. Исходный файл никогда не меняется. Таким образом, происходит виртуальное изменение ядра во время выполнения без реальной модификации файлов ядра.»

Крайне полезное расширение. Оно делает процесс обновления OpenCart плавным, даже если вы изменили файлы ядра.

Принцип работы vQmod

Прежде чем мы узнаем, как использовать vQmod вместе с OpenCart, давайте поймем принцип работы этого расширения. vQmod делает все через XML файлы. Вам необходимо создать XML файлы заданным способом, а дальше vQmod возьмет весь функционал на себя. Давайте узнаем, как должны выглядеть XML файлы. Это простая демонстрация, чтобы вы поняли, как можно заменять определенные куски кода в файле.

Интернет-магазин на OpenCart!

Создайте интернет-магазин на самой популярной CMS – OpenCart с нуля!

Приступить к созданию
<?xml version="1.0" encoding="UTF-8"?>
<modification>
 <id>Example of the vQmod</id>
 <version>1.0</version>
 <vqmver>2.X</vqmver>
 <author>Tuts+</author>
 <file name="targetfile.php">
 <operation info="Example of the vQmod">
 <search position="replace"><![CDATA[
 I am original content.
 ]]></search>
 <add><![CDATA[
 I am replaced content!!
 ]]></add>
 </operation>
 </file>
</modification>

Как видите, файл начинается со стандартного тега <?xml>. Далее идет <modification> и другие теги (<id>, <version> и <author>). Не редактируйте <vqmver>, здесь указана версия vQmod.

Интересное начинается с тега <file>. Атрибут name указывает на имя файла, в котором будет произведена замена. Возможно, вам нужно будет изменить один файл в нескольких местах. Здесь нам поможет <operation>. Атрибут info позволяет добавить сообщение.

В этом примере тег <search> используется для операции replace. С помощью атрибута position в расширение vQmod можно передать выполняемую операцию. Контент внутри <search> будет заменен контентом из тега <add>.

Вы могли заменить, что контент поиска и замены окружен в тег CDATA. То есть этот контент не будет восприниматься как разметка, это символьные данные. Давайте рассмотрим другие опции атрибута position:

before – вставляет контент перед поисковой строкой

after – вставляет контент после поисковой строки

top – вставляет данные в верхнюю часть файла. В нашем случае тег search не нужен. Даже если он будет, он будет проигнорирован

bottom – вставляет данные в конец файла. нашем случае тег search не нужен. Даже если он будет, он будет проигнорирован

ibefore – данные вставляются прямо перед поисковыми данными на этой же строке

iafter – данные вставляются сразу после поисковых данных на этой же строке

Тег search принимает необязательные атрибуты. Давайте быстро по ним пробежимся.

offset – атрибут для работы вместе с position. Например, если position задан в before, а offset в 3, тогда контент будет вставлен перед тремя строками поисковых данных

index – иногда нужно заменить лишь пару вхождений определенной строки, а не все ее появления в поисковых данных. Например, есть 5 вхождений переменной $abc в поисковых данных, но вам нужно заменить лишь первые 2 на $def. Для этого вам необходимо задать index 1,2

Интернет-магазин на OpenCart!

Создайте интернет-магазин на самой популярной CMS – OpenCart с нуля!

Приступить к созданию

regex – атрибут для выполнения поиска операций на основе регулярного выражения. Для этого необходимо задать regex TRUE

Мы быстро пробежались по основным настройкам vQmod.

OpenCart и vQmod

Давайте установим расширение vQmod в OpenCart, а также посмотрим, как с помощью vQmod изменить ядро OpenCart.

Установка

Загрузите и извлеките OpenCart библиотеку vQmod

Загрузите папку vqmod в корневую папку установки OpenCart

Проверьте, чтобы у папки vqcache, которая расположена внутри vqmod, были права на запись с сервера

Откройте http://www.myopencartsite.com/vqmod/install, должно отобразиться сообщение об успешности. Если его нет, скорее всего, проблемы с доступом

Теперь вы готовы использовать расширение vQmod или создать свое.

Использование

Теперь вы вооружены, давайте разберем пример на практике. Создайте XML файл vqmod_homepage.xml в папке vqmod/xml. Вставьте следующий код в созданный файл.

<?xml version="1.0" encoding="UTF-8"?>
<modification>
 <id>Replace the css property in heading title in Home page</id>
 <version>1.0</version>
 <vqmver>2.X</vqmver>
 <author>Tuts+</author>
 <file name="catalog/view/theme/default/template/common/home.tpl">
 <operation info="Replace the css property in heading title in Home page">
 <search position="replace"><![CDATA[
 <h1 style="display: none;">
 ]]></search>
 <add><![CDATA[
 <h1>
 ]]></add>
 </operation>
 </file>
</modification>

Откройте домашнюю страницу, должен отобразиться заголовок h1. По умолчанию там написано Your Store. Все файлы в папке vqmod/xml автоматически обнаруживаются, и к ним применяются изменения. Кэшированные версии файлов лежат в vqmod/vqcache.

Если открыть vqmod_homepage.xml, можно увидеть, что все очень просто. Мы применяем операцию replace к файлу home.tpl. Важно отметить, что путь к файлу берется относительно папки vqmod.

Вишенка на торте

На данном этапе вы уже должны уметь изменять ядро OpenCart с помощью XML файлов в vQmod. Подобным образом вы можете создать свои модули OpenCart на основе vQmod.

Скачайте парочку расширений на основе vQmod с сайта OpenCart, чтобы изучить их. На vQmod основано более 2 500 расширений.

Помимо этого, если вам лень создавать vQmod XML файл, в OpenCart есть расширение vQmod Generator, Editor and Log Viewer, в котором можно это делать через панель администратора.

Заключение

В этом уроке вы изучили библиотеку vQmod, а также как ее использовать с OpenCart. Экспериментируйте, веселитесь!

Автор: Sajal Soni

Источник: http://code.tutsplus.com/

Редакция: Команда webformyself.

Интернет-магазин на OpenCart!

Создайте интернет-магазин на самой популярной CMS – OpenCart с нуля!

Приступить к созданию
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Интернет-магазин на OpenCart

Создание магазина с уникальным шаблоном на CMS OpenCart

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree