OpenCart — від новачка до професіонала: Архітектура

333

Від автора: ця стаття — «OpenCart архітектура» є частиною серії «OpenCart — від новачка до професіонала». До цього моменту статті були присвячені інтерфейсу OpenCart. Ми розглянули, як працювати в панелі адміністрування. Починаючи з цієї статті, ми будемо вивчати OpenCart Framework, що базується на шаблоні проектування MVC.

Якщо ви знайомі з шаблоном проектування Модель-Представоение-Контролер (MVC), у вас вже необхідна база; якщо немає, не турбуйтеся про це — ми докладно розглянемо архітектуру MVC в наших наступних статтях.

Загальні відомості про параметри маршрутів URL-адрес

OpenCart Framework досить простий, так як він спочатку був орієнтований на розробників початкового рівня. Система використовує прості маршрути URL-адрес, наприклад: route=aa/bb. Рядок запиту маршруту складається, щонайменше, з двох частин, які вказують фреймворку, що завантажувати.

Наприклад, у наведеному вище прикладі я використовував aa як першу частину запиту маршруту, а bb — як другу. В архітектурі MVC це працює наступним чином:

Спочатку завантажується контролер. У цьому випадку контролер ідентифікується першим і другим параметрами в рядку запиту. Перша частина рядка запиту ідентифікує каталог, друга частина ідентифікує ім’я файлу контролера (хоча без відповідного розширення PHP). Таким чином, зазначений вище параметр рядка запиту відноситься до файлу, вказаною нижче:

OpenCart — від новачка до професіонала: Архітектура

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

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

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

(STORE ROOT DIRECTORY)/catalog/controller/aa/bb.php

Примітка. Параметр маршруту може містити третю частину, тобто route=aa/bb/cc. Третя частина буде розглядатися в наступних статтях, коли ми перейдемо до теми контролерів.

Бібліотеки

Бібліотеки відіграють в OpenCart дуже важливу роль. По суті, бібліотеки — це допоміжні файли, які найчастіше використовуються при розробці чогось. OpenCart надає готові бібліотеки, які можуть бути дуже корисні при написанні коду. Загальний синтаксис завантаження такої бібліотеки відповідає наступного формату: $this->library_name. Бібліотеки можна знайти в каталозі system/library.

Наприклад, щоб програмно зареєструвати користувача в систему, ви можете використовувати $this->user->login($username,$password);, а для виходу користувача із системи можна використовувати $this->user->logout);. Деякі з найбільш часто використовуваних бібліотек:

cart.php — містить функції, пов’язані з кошиком

image.php — містить функції, пов’язані із зображеннями, такі як обрізка зображень, кешування і багато іншого

customer.php — містить функції, пов’язані з клієнтом

config.php — відповідає за завантаження всіх налаштувань OpenCart

user.php — містить всі функції адміністратора і користувача

Мови

Мови можуть розташовуватися в catalog/language. У попередніх статтях ми додали на наш сайт французьку мову, тому в каталозі повинні міститися папки english та french. Щоб більш чітко зрозуміти це питання, ми розглянемо, що міститься в папці english.

Значення, які використовуються на багатьох сторінках, зберігаються у файлі english.php. Якщо ви хочете додати нове значення, просто дотримуйтесь наведеному нижче синтаксису:

$_[‘language_key’]=’This is test’;

У той же час, мови, використовувані на спеціальних сторінках, знаходяться всередині папок. Наприклад, для сторінки помилки файл мови можна знайти за адресою: catalog/language/english/error/not_found.php. Мовний файл можна завантажити в контролер, використовуючи наступний синтаксис:

$this->language->load(‘error/not_found’);

Потім ви можете використовувати функцію мовної бібліотеки «get» для отримання значення мови:

$this->language->get(‘language_key’);

Примітка. Значення в глобальному мовному файлі english/english.php завантажуються автоматично і доступні для використання без методу завантаження $this->language->load.

Висновок

У цій статті ми розглянули і пояснили базову архітектуру OpenCart System. Але це ще не все. В наших наступних двох статтях ми охопимо інші теми. Щоб стати експертом з якого-небудь інструменту, потрібно знати Системну архітектуру цього інструменту. Тому у наступних статтях ми зосередимося на цих речах. Сподіваюся, вам сподобалася стаття.

OpenCart — від новачка до професіонала: Архітектура

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

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

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