Зміна ядра OpenCart з допомогою модуля vQmod

22

Від автора: 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 з допомогою модуля vQmod

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

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

Приступити до створення

Example of the vQmod
1.0
2.X
Tuts+

Як бачите, файл починається зі стандартного тега . Далі йде і інші теги (, і ). Не редагуйте , тут вказана версія vQmod.

Цікаве починається з тега . Атрибут name вказує на ім’я файлу, в якому буде проведена заміна. Можливо, вам потрібно буде змінити один файл в декількох місцях. Тут нам допоможе . Атрибут info дозволяє додати повідомлення.

У цьому прикладі тег використовується для операції replace. За допомогою атрибута position у розширення vQmod можна передати виконувану операцію. Контент всередині буде замінений контентом з тегу .

Ви могли помітити, що контент пошуку і заміни оточений в тег 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 з допомогою модуля vQmod

Інтернет-магазин на 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. Вставте наступний код у файл.

Replace the css property in heading title in Home page
1.0
2.X
Tuts+
]]>
]]>

Відкрийте домашню сторінку, має відобразитися заголовок 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. Експериментуйте, веселіться!

Зміна ядра OpenCart з допомогою модуля vQmod

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

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

Приступити до створення