Разработка модуля: хуки и фильтры
Как разработать модуль для Kuznya CMS: структура, module.json, хуки, фильтры, точка подключения.
Что такое модуль
Модуль — папка в /modules/{slug}/ с файлом module.php. При активации движок подключает этот файл.
Структура модуля
/modules/my-module/ ├── module.json ← метаданные ├── module.php ← логика ├── admin.php ← (опционально) страница настроек └── assets/ ← (опционально) css/js
Файл module.json
{
"slug": "my-module",
"name": "My Module",
"version": "1.0.0",
"author": "Ваше имя",
"description": "Что делает модуль"
}
Хуки и фильтры
Хук — точка, куда модуль может вмешаться. В движке два типа:
add_action($hook, $callback)
Добавляет callback в точку. Ничего не возвращает — выполняет действие.
add_action('site.head', function() {
echo '<meta name="x-module" content="loaded">';
});
add_filter($hook, $callback)
Модифицирует значение. Callback возвращает новое значение.
add_filter('page.title', function($title) {
return $title . ' — My Module';
});
Доступные точки
site.head— внутри <head> публичкиsite.body.start— сразу после <body>site.footer— перед </body>admin.head— внутри <head> админкиadmin.footer— перед </body> админки
Установка модуля
Загрузите ZIP через Система → Модули → Загрузить. Движок проверит безопасность и активирует.