Структура OpenCart разделена на 2 отдельных приложения. Одним из них является каталог (фронт магазина) и админ (администрация). Каждая структура приложения основана на парадигме Model View Controller (MVC) и включает в себя общую библиотеку.
MVC - это, в основном, разделение данных, логики и пользовательского интерфейса на отдельные части, что делает создание приложений более структурированным и более простым в управлении.
Функции для хранения, редактирования и поиска данных. Это можно сделать с помощью базы данных, файла, удаленного хранения и т.д.
В веб-интерфейсе MVC представление обычно там, где хранятся шаблоны.
Бит посередине, где логика используется для выбора моделей для загрузки и передачи данных в представление / шаблон.
Фронт и администратор разделены на две отдельные папки и папку общей библиотеки.
В двух каталогах приложений Вы найдете контроллер, модель, представление и языковую папку. Это позволяет легко управлять каждым компонентом, составляющим приложение OpenCart.
Очень важно, чтобы Вы переместили каталог хранения за пределы веб-каталога, поскольку файлы, хранящиеся здесь, могут содержать информацию, которая может поставить под угрозу безопасность веб-сайта пользователя.
Важно понять, как загружаются части системы OpenCart, прежде чем описывать структуру файлов и структуру кодирования.
Контроллеры могут напрямую вызываться пользователями, посещающими веб-сайт, а также доступны через код с помощью класса загрузчика.
Переменная URL-адреса маршрута в адресной строке должна соответствовать пути вызываемого контроллера.
Пример:
URL-адрес https://www.yourstore.com/index.php?route=account/login
Путь к файлу /catalog/controller/account/login.php
Путь к методу контроллера
Пример:
последняя часть маршрута будет либо именем файла, либо Так
Класс загрузчика используется для загрузки различных компонентов OpenCart. Только библиотечные классы могут быть автоматически загружены при инициализации объекта.
Пример загрузки контроллера $this->load->controller('directory/filename');
Пример загрузки модели $this->load->model('directory/filename');
Модели могут быть доступны в каталоге с помощью кода:
$this->load->model('directory/filename');
$this->load->view('directory/filename');
$this->load->helper('directory/filename');
$this->load->language('directory/filename');
$this->load->config('filename');
Пожалуйста, обратитесь к классу загрузчика для класса API.
Описание компонентов
Описание контроллера
Так, например, структура расширения блога может быть
<?php
class ControllerCmsBlog extends ***Controller*** {
// If no method is called index is called by default
public function index() {
}
}
OpenCart пытается определить язык, используемый вашим браузером, даже если база данных не работает, он будет использовать имя каталога, чтобы увидеть
Языковой каталог должен быть назван после идентификационных кодов языка веб-браузера в нижнем регистре.
язык | код | язык | код | язык | код |
Русский | ru | Хорватский | hr | Греческий | el |
Албанский | sq | Африканский | af |
Языковые файлы в основном являются массивами и разбиты на несколько частей.
Пример:
<?php
// Heading
$_['heading_title'] = 'Мой заголовок';
// Text
$_['text_account'] = 'Общие';
// Entry``
$_['entry_firstname'] = 'Имя';
$_['entry_lastname'] = 'Фамилия';
$_['entry_email'] = 'Эл. Почта';
$_['entry_telephone'] = 'Телефоне';
// Error
$_['error_exists'] = 'Внимание: адрес электронной почты уже зарегистрирован!';
$_['error_firstname'] = 'Имя должно быть от 1 до 32 символов!';
$_['error_lastname'] = 'Фамилия должна быть от 1 до 32 символов!';
$_['error_email'] = 'Адрес электронной почты не является действительным!';
$_['error_telephone'] = 'Телефон должен быть от 3 до 32 символов!';
$_['error_custom_field'] = '%s обязательно!';
Описание
<?php
class ModelCmsBlog extends Model {
public function getBlogs($data = array()) {
}
}
Описание
Описание
Вспомогательная функция выполняет определенную задачу без зависимости от других функций. Вы можете создать несколько вспомогательных функций для разных задач (например, URL helper, File helper).
Полный список доступных библиотек здесь.