我正在尝试按照索纳塔官方网站的这一节添加自定义控制器到我的菜单。
我有一个工作控制器;
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
);
}
}
我已经在我的服务中将控制器注册为服务。yml文件;
app.hello_controller:
class: AppBundleControllerHelloController
最后我添加了控制器路由作为菜单项;
sonata_admin:
dashboard:
groups:
Monitoring:
items:
- app.hello_controller
但是现在我得到了错误;
在呈现模板期间抛出异常("管理服务"app.hello_controller" not found in Admin pool."SonataAdminBundle:核心:add_block.html。修改第5行
有人能告诉我我错过了什么,以这种方式添加菜单项?
你需要修改你的配置。在您的示例中,您正在将服务id为app.hello_controller
的管理服务添加到菜单中。
您需要做的是添加以下配置,以便从控制器中添加一个特定的路由/操作:
config.yml
sonata_admin:
dashboard:
groups:
Monitoring:
items:
- route: your_route_name
label: Your Menu Item Label