2016-09-14 80 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 
相關問題