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

29 Мая 2022г. в 05:07

Если вы знакомы с шаблоном проектирования Модель-Представоение-Контроллер (MVC), у вас уже необходимая база; если нет, не беспокойтесь об этом — мы подробно рассмотрим архитектуру MVC в наших последующих статьях.

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

Например, в приведенном выше примере я использовал aa как первую часть запроса маршрута, а bb — как вторую. В архитектуре MVC это работает следующим образом:

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

(STORE ROOT DIRECTORY)/catalog/controller/aa/bb.php
(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';
$_['language_key']='This is test';
В то же время, языки, используемые на специальных страницах, находятся внутри папок. Например, для страницы ошибки файл языка можно найти по адресу: catalog/language/english/error/not_found.php. Языковой файл можно загрузить в контроллер, используя следующий синтаксис:

$this->language->load('error/not_found');
$this->language->load('error/not_found');
Затем вы можете использовать функцию языковой библиотеки «get» для получения значения языка:

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

Заключение
В этой статье мы рассмотрели и пояснили базовую архитектуру OpenCart System. Но это еще не все. В наших следующих двух статьях мы охватим другие темы. Чтобы стать экспертом по какому-либо инструменту, нужно знать Системную архитектуру этого инструмента. Поэтому в следующих статьях мы сосредоточимся на этих вещах. Надеюсь, вам понравилась статья.