我试图在Sonata的官方网站上关注this section,为我的菜单添加自定义控制器。
我拥有的是一个工作控制器;
tableView.reloadData()
我已将控制器注册为services.yml文件中的服务;
Dispatch.main.async { self.tableView.reloadData() }
最后我将控制器路线作为项目添加到菜单中;
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
);
}
}
但现在我收到了错误;
在渲染模板期间抛出了异常 ("管理服务" app.hello_controller"在管理池中找不到。")in SonataAdminBundle:核心:第5行的add_block.html.twig。
有人可以告诉我我错过了什么,以这种方式添加菜单项吗?
答案 0 :(得分:2)
您需要修复配置。在您的示例中,您要将一个服务ID为app.hello_controller
的管理服务添加到菜单中。
您需要做的是添加以下配置以从控制器添加一个特定路线/操作:
<强> config.yml 强>
sonata_admin:
dashboard:
groups:
Monitoring:
items:
- route: your_route_name
label: Your Menu Item Label