Я пытаюсь настроить администратора как ребенка другого администратора в Sonata Admin Bundle.Пароль администратора не создан - Соната Admin Bundle
У меня 2 администратора класса:
CategoryAdmin
Этот класс содержит следующий методprotected function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null) { $id = $this->getRequest()->get('id'); $menu->addChild( $this->trans('Projects'), array('uri' => $this->getChild('sonata.admin.project')->generateUrl('list', array('id' => $id))) ); }
ProjectAdmin
Этот класс содержитprotected $parentAssociationMapping = 'category';
category
- это свойство в классе модели, представляющем ассоциацию ManyToOne.
Я добавил следующие строки в моей конфигурации службы для CategoryAdmin
calls:
- [ addChild, ["@sonata.admin.project"]]
Маршруты для ребенка администратора не генерируется с этой конфигурацией. Ссылка в точках SideMenu (верхнее меню) для /admin/project/list?childId=1&id=1
Вот выход из детей CategoryAdmin
с dump()
array:1 [▼
"sonata.admin.project" => ProjectAdmin {#406 ▶}
]
Это означает, что конфигурация для моего ребенка администратора кажется правильным. Я понятия не имею, почему маршруты для дочернего администратора не создаются.
Надеюсь, кто-нибудь может дать мне подсказку, в чем проблема.
Нет ли способ вокруг этого? Я должен определить '$ baseRouteName' и' $ baseRoutePattern', потому что в противном случае Sonata отказывается от моего пакета без поставщиков (например, src/AppBundle /). –
Если использование dev-master версии SonataAdminBundle не является проблемой, ошибка была решена в нем (https://github.com/sonata-project/SonataAdminBundle/pull/3250). Если вы не можете переопределить getBaseRoutePattern и getBaseRouteName, чтобы исправить это поведение. – jvasseur