2016-09-14 62 views
0

我试图在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’不管理池中找到。”)。

有人可以告诉我我缺少什么,以这种方式添加菜单项吗?

回答

2

您需要修复您的配置。在你的例子中,你要添加一个服务ID为app.hello_controller的管理服务到菜单。

你需要做的是添加下面的配置从控制器添加一个特定路由/动作

config.yml

sonata_admin: 
    dashboard: 
     groups: 
      Monitoring: 
       items: 
        - route:  your_route_name 
         label:  Your Menu Item Label 
相关问题