Sonata 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
withの子の出力は次のとおりです。dump()
array:1 [▼
"sonata.admin.project" => ProjectAdmin {#406 ▶}
]
これは、子管理者の構成が正しいように見えることを意味します。子管理者のルートが生成されない理由がわかりません。
何が問題なのか、誰かが私にヒントを与えてくれることを願っています。