Нова система модифікацій в OpenCart 2

16

Від автора: сьогодні ми поговоримо про нові модифікації OpenCart. Успіх будь-якого open-source фреймворку залежить від певних факторів. Розширюваність – один з найважливіших чинників. З її допомогою співтовариство може додавати нові функції і розширювати функціональність ядра, що покращує кінцевий продукт. Розробка кастомних розширень також повинна бути.

У цій статті ми дізнаємося, як змінювати файли ядра OpenCart, реалізуючи OCMOD розширення на основі XML. Велика частина функціональності запозичена у свого предка – системи vQmod. Нова система набагато простіше і в ній менше функцій порівняно з vQmod. Нова система охоплює всі важливі шаблони заміни.

Система OCMOD – система пошуку і заміни на основі XML. За правилами OCMOD оголошується XML файл, все інше зроблять за вас. Можна сказати, що ви можете змінювати будь-які файли ядра у фреймворку!

Щоб зрозуміти можливості системи, наведемо кілька прикладів:

Вставка певного коду перед будь рядком у файлі.

Нова система модифікацій в OpenCart 2

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

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

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

Заміна блоку коду на свій.

Пошук рядка у файлі по регулярному виразу і заміна на інший рядок.

Зміна схеми бази даних OpenCart.

Багато іншого…

Як бачите, список того, що дозволяє робити OCMOD, далеко не повний. Також прийнято використовувати цю систему, щоб напряму не змінювати файли ядра, що строго не рекомендується.

У наступному розділі ми створимо простий модуль OCMOD для демонстрації. Припускаю, що ви працюєте в останній версії OpenCart.

Принцип роботи OCMOD

Створити та встановити розширення OCMOD можна двома способами. Необхідно або створити zip файл з розширенням .ocmod.zip, або створити один XML файл з розширенням .ocmod.xml.

Варіант з zip-файлом

Варіант з zip файл дозволяє підключити декілька файлів, щоб можна було робити інші операції. Наприклад, змінювати схему бази даних, завантажувати нові файли/папки в установку OpenCart і т. д. Які команди нам доступні з zip версією розширення OCMOD:

Upload: контент в цій папці буде скопійований, так як він ставиться до кореня OpenCart.

Install.sql: у цьому файлі можна писати SQL-запити для зміни бази даних.

Install.php: у цьому файлі можна писати кастомный PHP код, необхідний для модифікацій.

Install.xml: самий важливий файл, що містить XML код модифікацій.

Звичайно, необов’язково створювати всі файли/папки зі списку вище, але install.xml можна створити для перевірки установки розширення OCMOD.

Нова система модифікацій в OpenCart 2

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

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

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

Варіант з XML-файлом

Цей спосіб створення OCMOD розширення набагато легше. Потрібно лише створити XML файл з розширенням .ocmod.xml. Можна сказати, що він ідентичний файлу install.xml і зберігає XML код модифікацій, що ми обговорювали в попередній секції.

Для простоти візьмемо останній варіант і створимо OCMOD розширення в наступній секції.

Створення файлів модуля OCMOD

Як розробник, ви часто будете потрапляти в ситуації, коли вам захочеться змінити файли ядра. Ми розглянемо реальний приклад того, як вирішити цю проблему за допомогою OCMOD розширення.

Припустимо, що ви хочете змінити спосіб відображення заголовка детальної сторінці товару. Код нижче встановлює правильний заголовок детальної сторінці товару. Файл розташований в catalog/controller/product/product.php.

$data[‘heading_title’] = $product_info[‘name’];

Ви хочете щось типу:

$data[‘heading_title’] = strtoupper($product_info[‘name’]);

Давайте подивимося, як це зробити з допомогою OCMOD розширення. Створіть файл product_title.ocmod.xml з таким кодом.

Product Title Modification
Code_Tutsplus_Product_Title
1.0
Code Tutsplus
http://code.tutsplus.com

Як бачите, майже всі теги говорять самі за себе. Найголовніший тег — . Він визначає ім’я файлу, над яким повинна бути виконана операція. Тег search шукає потрібний нам код, а за допомогою тега ми додаємо наш код.

Установка модуля через back end

Ми створили файл модифікацій, тепер давайте встановимо його через back end OpenCart. Перейдіть на back end і далі Extensions > Extension Installer. Клікніть на upload і виберіть файл, який ми створили в попередній секції. Якщо все пройде нормально, з’явиться повідомлення про успішну установку.

Перейдіть в Extensions > Modifications, там повинно бути наше OCMOD розширення.

Нова система модифікацій в OpenCart 2

Це означає, що розширення успішно встановлено! Тепер натисніть на іконку refresh в правому верхньому куті, щоб OpenCart виявив його і застосував до front end.

В наступній секції ми перевіримо, що розширення коректно применилось до front end.

Тестування front end

Перейдіть на front end і далі на будь-яку сторінку детальну товару. Заголовок товару тепер повинен відображатися у верхньому регістрі.

Нова система модифікацій в OpenCart 2

Це був дуже простий приклад для демонстрації могутності OCMOD. За допомогою цієї утиліти можна робити набагато більше, а також змінювати файли ядра при необхідності.

Висновок

Сьогодні ми обговорили нову систему модифікацій в OpenCart 2. Ми пройшли через весь процес, щоб продемонструвати, як з її допомогою можна змінювати файли ядра в OpenCart. Не соромтеся, пишіть запитання!

Нова система модифікацій в OpenCart 2

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

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

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