Категории

Основы

Структура MVC

Структура OpenCart разделена на 2 отдельных приложения. Одним из них является каталог (фронт магазина) и админ (администрация). Каждая структура приложения основана на парадигме Model View Controller (MVC) и включает в себя общую библиотеку.

MVC - это, в основном, разделение данных, логики и пользовательского интерфейса на отдельные части, что делает создание приложений более структурированным и более простым в управлении.

Модель

Функции для хранения, редактирования и поиска данных. Это можно сделать с помощью базы данных, файла, удаленного хранения и т.д.

Представление

В веб-интерфейсе MVC представление обычно там, где хранятся шаблоны.

Контроллер

Бит посередине, где логика используется для выбора моделей для загрузки и передачи данных в представление / шаблон.

mvcl

Структура файлов

Фронт и администратор разделены на две отдельные папки и папку общей библиотеки.

  • admin - Администрация области
  • catalog - Магазин Фронт
  • system - Общие системные файлы

file struct

Приложение

В двух каталогах приложений Вы найдете контроллер, модель, представление и языковую папку. Это позволяет легко управлять каждым компонентом, составляющим приложение OpenCart.

  • controller/
  • language/
  • model/
  • view/

Система

  • config/
  • engine/
  • helper/
  • library/
  • storage/

Хранилище

Очень важно, чтобы Вы переместили каталог хранения за пределы веб-каталога, поскольку файлы, хранящиеся здесь, могут содержать информацию, которая может поставить под угрозу безопасность веб-сайта пользователя.

  • cache/
  • download/
  • logs/
  • modification/
  • session/
  • upload/
  • vendor/

Загрузка

Важно понять, как загружаются части системы 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()) {

  }
}

Представления

Описание

Структура файлов

Admin
  • view/
  • view/image/
  • view/stylesheets/
  • view/sass/
  • view/template/
Catalog
  • catalog/controller/
  • catalog/language/
  • catalog/model/
  • catalog/view/theme/template

Структура кода

Конфиг

Описание

Структура кода

Помощник

Вспомогательная функция выполняет определенную задачу без зависимости от других функций. Вы можете создать несколько вспомогательных функций для разных задач (например, URL helper, File helper).

Структура кода

Библиотека

Полный список доступных библиотек здесь.

Структура кода