Структура плагина
Плагин должен быть предсказуемым: его файлы, шаблоны, ассеты и конфигурация должны легко переноситься между локальной разработкой, тестовым окружением и боевым сайтом.
Рекомендуемые директории
| Директория | Что хранить |
|---|---|
templates/ | Twig-шаблоны страниц, блоков и частичных компонентов |
assets/ | CSS, JavaScript, изображения и другие публичные файлы |
translations/ | Тексты интерфейса и переводы |
config/ | Локальная конфигурация плагина без секретов |
docs/ | Краткое описание настройки и проверки |
Манифест
Если плагин поставляется как отдельный пакет, добавьте файл с описанием:
{
"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- исправления.
Перед релизом укажите, какие файлы были изменены и какие действия нужны после обновления.