Перейти к основному содержимому

Структура плагина

Плагин должен быть предсказуемым: его файлы, шаблоны, ассеты и конфигурация должны легко переноситься между локальной разработкой, тестовым окружением и боевым сайтом.

Рекомендуемые директории​

ДиректорияЧто хранить
templates/Twig-шаблоны страниц, блоков и частичных компонентов
assets/CSS, JavaScript, изображения и другие публичные файлы
translations/Тексты интерфейса и переводы
config/Локальная конфигурация плагина без секретов
docs/Краткое описание настройки и проверки

Манифест​

Если плагин поставляется как отдельный пакет, добавьте файл с описанием:

plugin.json
{
"name": "shop-custom-block",
"title": "Shop Custom Block",
"version": "1.0.0",
"description": "Дополнительный блок для страницы магазина",
"requires": {
"platform": ">=1.0.0"
}
}

Манифест помогает понять назначение плагина, версию, совместимость и состав поставки.

Шаблоны​

Разделяйте шаблоны по назначению:

  • страницы;
  • повторяемые карточки;
  • формы;
  • состояния загрузки;
  • пустые состояния;
  • сообщения об ошибках.

Не размещайте крупную бизнес-логику в Twig. Если данные нужны в нескольких местах, лучше подготовить их на уровне API или общей функции.

Ассеты​

CSS и JavaScript должны быть изолированы по именам классов и не ломать базовую тему. Используйте понятные префиксы, чтобы стили плагина не конфликтовали с системными компонентами.

Версионирование​

Используйте формат MAJOR.MINOR.PATCH:

  • MAJOR - несовместимые изменения;
  • MINOR - новые возможности без поломки существующих шаблонов;
  • PATCH - исправления.

Перед релизом укажите, какие файлы были изменены и какие действия нужны после обновления.