Skip to Content
Разработка модулейВведение

Разработка модулей

Модули — это способ добавить новую функциональность в Flute CMS без изменения ядра. Каждый модуль работает независимо и может быть легко установлен, обновлён или удалён.

Что может модуль

  • Добавлять страницы — новые разделы сайта (блог, форум, магазин)
  • Расширять функции — виджеты, платёжные системы, интеграции
  • Работать с данными — свои таблицы в базе данных
  • Интегрироваться с админкой — настройки, управление контентом
  • Взаимодействовать с другими модулями — через события и API

Модули устанавливаются в папку app/Modules/. Каждый модуль — отдельная папка со своим кодом.


Быстрый старт

Минимальный модуль состоит из двух файлов:

app/Modules/Hello/ ├── module.json ← Описание модуля └── Providers/ └── HelloProvider.php ← Точка входа

1. Создайте module.json

{ "name": "Hello", "version": "1.0.0", "description": "Мой первый модуль", "providers": [ "Flute\\Modules\\Hello\\Providers\\HelloProvider" ] }

2. Создайте провайдер

<?php namespace Flute\Modules\Hello\Providers; use Flute\Core\Support\ModuleServiceProvider; class HelloProvider extends ModuleServiceProvider { protected ?string $moduleName = 'Hello'; public function boot(\DI\Container $container): void { // Загружает все ресурсы модуля автоматически $this->bootstrapModule(); } }

3. Активируйте модуль

Зайдите в админ-панель → Модули → Найдите ваш модуль → Активируйте.

Готово! Модуль работает. Теперь можно добавлять контроллеры, шаблоны и другие возможности.


Типичная структура модуля

app/Modules/Blog/ ├── module.json # Описание и зависимости ├── Providers/ │ └── BlogProvider.php # Провайдер модуля ├── Http/Controllers/ │ └── ArticleController.php # Контроллеры ├── database/Entities/ │ └── Article.php # Сущности БД ├── Resources/ │ ├── config/ │ │ └── blog.php # Настройки │ ├── lang/ │ │ ├── ru/messages.php # Переводы (русский) │ │ └── en/messages.php # Переводы (английский) │ └── views/ │ └── pages/ │ └── index.blade.php # Шаблоны ├── Components/ │ └── ArticleCard.php # Yoyo-компоненты ├── Widgets/ │ └── RecentArticles.php # Виджеты └── Services/ └── ArticleService.php # Бизнес-логика

Разделы документации

Основы

Продвинутые темы

Справочники и инструменты

Примеры и практики


Что дальше

Изучите структуру модуля

Поймите, какие папки за что отвечают и как Flute загружает ресурсы.

Создайте контроллер

Научитесь обрабатывать HTTP-запросы и работать с данными.

Добавьте шаблоны

Создайте пользовательский интерфейс с Blade и компонентами.

Настройте локализацию

Добавьте поддержку нескольких языков.

Опубликуйте модуль

Поделитесь модулем с сообществом Flute CMS.