在SonataBundle的CRUDController中有很多动作,例如listAction(),editAction()等。 对于用户管理是链接:
http://site.local/app_dev.php/admin/sonata/user/user/list
和路线:
admin_sonata_user_user_list - /admin/sonata/user/user/list
我想为此控制器添加自己的操作:listSecondAction();
我复制方法listAction并将名称更改为listSecondAction。接下来我打开
http://site.local/app_dev.php/admin/sonata/user/user/listSecond
我有错误:
No route found for "GET /admin/sonata/user/user/listSecond"
那么我该如何添加此行为的路由?我应该如何进入此路由?
答案 0 :(得分:2)
在您的管理类中,您必须添加configureRoutes方法:
protected function configureRoutes(RouteCollection $collection) {
$collection
->add('listSecond', 'listSecond')
->add('another', $this->getRouterIdParameter() . '/another');
;
}
在你的控制器中你需要添加这两个动作:
public function listSecondAction() {
// Your code here
}
public function anotherAction($id = null) {
// Here how to get the current object
$id = $this->get('request')->get($this->admin->getIdParameter());
$object = $this->admin->getObject($id);
// Your code here
}
希望这有帮助
答案 1 :(得分:1)