在Sonata菜单中添加自定义控制器条目
问题描述:
我试图在Sonata官方网站上关注this section以将自定义控制器添加到我的菜单中。在Sonata菜单中添加自定义控制器条目
我有一个工作控制器;
class HelloController extends Controller {
/**
*
* @Template()
* @param type $name
* @return type
*/
public function indexAction($name)
{
$admin_pool = $this->get('sonata.admin.pool');
return array(
'admin_pool' => $admin_pool,
'name' => $name
);
}
}
我已经在我的services.yml文件中注册了控制器作为服务;
app.hello_controller:
class: AppBundle\Controller\HelloController
最后我添加了控制器路由作为一个项目的菜单;
sonata_admin:
dashboard:
groups:
Monitoring:
items:
- app.hello_controller
但现在我得到错误;核心:add_block.html.twig第5行
例外模板 的渲染过程中已被扔在 SonataAdminBundle(“管理服务‘app.hello_controller’不管理池中找到。”)。
有人可以告诉我我缺少什么,以这种方式添加菜单项吗?
答
您需要修复您的配置。在你的例子中,你要添加一个服务ID为app.hello_controller
的管理服务到菜单。
你需要做的是添加下面的配置从控制器添加一个特定路由/动作:
config.yml
sonata_admin:
dashboard:
groups:
Monitoring:
items:
- route: your_route_name
label: Your Menu Item Label