Оформление
Меню
Меню системы генерируется отдельной командой, которая собирает все сервисы с тегом admin и добавляет записи в базу данных.
Команда для генерации меню
bash
php bin/console menu:generateВажно!
Принцип работы заключается в получении всех сервисов по тегу admin и создании записи в БД в случае, если записи с идентификатором админки не существует. Команду нужно запускать каждый раз при добавлении новой админки.
Типы меню
Описаны в MenuTypeEnum
- text - используется для пунктов меню, которые никуда не ведут, например корневые разделы
- link - используется для пунктов меню, которые ведут на кастомный url. Соответственно, для всех пунктов меню с таким типом обязательно заполнение поля url
- main - используется для пунктов меню, которые ведут на list/tree action для конкретной админки
- alias - используется для пунктов меню, которые дублируют информацию с типом main, и дополнительно имеют связь original
Кастомизация
Сейчас по умолчанию для всех админок регистрируемых в конфигах через AdminServiceConfigurator::register указывается следующий тег:
php
->tag('admin', [
'originalName' => $class,
'parentCode' => null,
'isEditable' => true,
'type' => MenuTypeEnum::MAIN->value,
'menuAction' => 'list',
])- originalName - название, которое будет будет указано для пункта меню по умолчанию
- parentCode - символьный код меню-родителя
- isEditable - флаг для ограничения редактирования пункта меню
- type - один из указанных выше типов меню
- menuAction - стандартный экшн для меню, по умолчанию list, возможен вариант tree