Оглавление
OpenCart
Простой интернет-магазин с открытым кодом: контроллеры, модели, шаблоны Twig, модули и события.
1.Начало работы
- Что такое OpenCartOpenCart 4 простыми словами: что умеет движок, какую версию описывает курс, что нужно для работы и что вы напишете.
- УстановкаУстановка OpenCart 4 на локальный сервер: файлы, база данных, мастер установки, установка из консоли и первые шаги после неё.
- Витрина, панель и папки проектаПапки проекта OpenCart 4: приложения catalog и admin, extension, system, storage и два файла настроек.
- Основные понятияИдеи, на которых построен OpenCart 4: MVC-L, реестр и объекты, доступные через this, дополнения, события и отличия от третьей версии.
2.Страницы витрины
- Первый контроллерКак создать страницу витрины в OpenCart 4: файл контроллера, его пространство имён и класс, и как маршрут в адресе связан с файлом.
- Методы, запрос, ссылки и перенаправленияНесколько методов в одном контроллере OpenCart 4, чтение данных GET и POST, построение ссылок через url->link и перенаправление.
- Файлы переводаГде OpenCart 4 хранит тексты страницы, как создать файл перевода, загрузить его в контроллере и добавить второй язык.
- Шаблоны TwigГде лежат шаблоны OpenCart 4, как передать переменные из контроллера, использовать условия и циклы и подключить шапку и подвал.
- Ответы JSON и формы AJAXКак устроены формы в OpenCart 4: метод контроллера, отвечающий в формате JSON, и форма, отправляемая без перезагрузки страницы.
- Модели и база данныхГде лежат модели OpenCart 4, как написать запрос через db->query, прочитать результат, защитить значения и вызвать модель из контроллера.
- Модели ядра: товары, категории, картинки, ценыГотовые модели OpenCart 4: чтение товаров и категорий, уменьшение картинок и вывод цены с налогом и в валюте покупателя.
- Заголовок страницы, хлебные крошки и пагинацияОбъект document в OpenCart 4, массив хлебных крошек и постраничный вывод через контроллер common/pagination.
3.Своё дополнение
- Создание дополненияСтруктура папок дополнения OpenCart 4, файл install.json, упаковка в архив ocmod.zip и установка в панели управления.
- Страница настроек модуляКонтроллер панели для модуля OpenCart 4: форма настроек, сохранение через модель setting/setting и чтение значений через config->get.
- Права доступа и токен пользователяКак панель OpenCart 4 защищает страницы: группы пользователей с правами access и modify, проверка hasPermission и user_token в ссылках.
- Установка, удаление и свои таблицыМетоды install и uninstall дополнения OpenCart 4: создание и удаление собственной таблицы через модель панели.
- Вывод модуля на витринеКонтроллер витрины для модуля OpenCart 4, возвращающий HTML, и размещение модуля на страницах через макеты в панели.
- События: триггеры и регистрацияСистема событий OpenCart 4: что такое триггер, как зарегистрировать событие при установке и написать первый обработчик.
- События: изменение данных, вывода и аргументовЧто получает обработчик события OpenCart 4 и как изменить данные шаблона, готовый HTML и аргументы метода модели.
- Формы, проверка и безопасностьФорма заявки в модуле OpenCart 4: проверка полей, защита от SQL-инъекций и XSS и токен против подделки запроса на витрине.
4.Покупатель, корзина и заказы
- Сессии, покупатель и проверка входаСессия и объект покупателя в OpenCart 4: хранение данных между запросами, чтение данных покупателя и закрытие страницы от гостей.
- КорзинаОбъект корзины OpenCart 4: чтение товаров и сумм, добавление товара из кода и отличие от контроллера checkout/cart.
- ЗаказыЗаказы в коде OpenCart 4: чтение заказа и его товаров, статусы, метод addHistory и момент, когда заказ считается оформленным.
- Дополнение для итогов заказаКак в OpenCart 4 считается сумма заказа и как добавить в неё свою строку дополнением вида total.
- Дополнение для доставкиКак добавить способ доставки в OpenCart 4: дополнение вида shipping с моделью getQuote, которая возвращает варианты и цены.
- Дополнение для оплатыКак устроен способ оплаты в OpenCart 4: модель getMethods, контроллер с кнопкой подтверждения и метод confirm, оформляющий заказ.
5.Развитие проекта
- Темы и замена шаблоновКак изменить внешний вид магазина на OpenCart 4, не правя шаблоны ядра: редактор темы, замена шаблона через событие и свои стили.
- SEO-адресаКороткие читаемые адреса в OpenCart 4: включение, правила веб-сервера, ключевые слова для товаров и для своих страниц.
- Настройки и кешОбъекты config и cache в OpenCart 4: чтение настроек магазина, где они хранятся и сохранение результата медленного запроса в кеше.
- Задачи по расписаниюЗадачи cron в OpenCart 4: список задач в панели, контроллер задачи в дополнении, его регистрация и системный планировщик.
- Адрес API для интеграцийКак обмениваться данными между OpenCart 4 и внешней системой: свой контроллер с ключом доступа и что такое встроенный API.
- Отправка почтыКласс Mail в OpenCart 4: настройки почты в панели, отправка текстового и HTML-письма из дополнения.
- OCMOD в четвёртой версииЧто такое OCMOD в OpenCart 4, когда он всё ещё нужен, как выглядит файл модификации и почему предпочитают события.
- Публикация и проверки безопасностиПеренос магазина на OpenCart 4 на рабочий сервер: файлы, база данных, два файла настроек и список проверок перед запуском.
- Обновление магазинаКак безопасно обновить OpenCart 4: резервная копия, тестовая копия, замена файлов ядра, сценарий обновления и проверка дополнений.