К содержимому
EN RU UA
Подключить поставщика

Свой плагин

Что плагин получает от ядра и куда он может вклиниться. Коротко, для тех, кто собирается писать сам.

Ядро — каркас: конвейер импорта, события, хранилище, шаблонизатор и оболочка интерфейса. Своих товарных функций у него почти нет, всё, что видит магазин, приходит из плагинов. Поэтому свой плагин — это не обход архитектуры, а способ, которым она задумана.

Что это такое

Папка в custom/Plugins с классом Plugin. Класс объявляет название, описание и раздел, в который встаёт его вкладка. Ничего регистрировать не нужно: программа находит папку сама.

Куда можно вклиниться

Плагин подписывается на события конвейера — тем, что объявляет метод с нужным именем. Между чтением прайса и записью в магазин он может:

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

Что плагин получает

  • свои таблицы в базе;
  • свою страницу настроек в панели;
  • то же хранилище, которым пользуется ядро.

Чего делать не надо

Писать в базу магазина напрямую. Это работа драйвера: он знает таблицы конкретной CMS, и только благодаря этому один и тот же плагин работает на разных движках. Плагин решает, что сделать с товаром, а как его записать — знает драйвер.

Привязка плагина к одному движку или даже к одному магазину — это нормально и встречается. Такой плагин так и остаётся плагином, ядро при этом не трогается.

Если писать некому

Опишите задачу — оценим отдельно. Часто выходит быстрее, чем разбираться самому.