Php 自定义操作页Sonata管理员
我想为我的sonata管理项目创建一个新的操作页面。我想创建一个上传文件的页面,但我希望此页面与创建页面不同。我试图更改Php 自定义操作页Sonata管理员,php,symfony,sonata-admin,Php,Symfony,Sonata Admin,我想为我的sonata管理项目创建一个新的操作页面。我想创建一个上传文件的页面,但我希望此页面与创建页面不同。我试图更改configureRoutes函数,并添加了“/upload/path”,就像在Sonata教程中一样,但他们告诉我使用getRouterIdParameter(),我不想要类似/app/class//upload的东西。我只想做一些类似于/app/class/upload的事情 有可能吗 CRUD-创建、读取、更新、删除。因此,CRUD控制器使用已定义的对象。当您在CRUD控
configureRoutes
函数,并添加了“/upload/path”,就像在Sonata教程中一样,但他们告诉我使用getRouterIdParameter()
,我不想要类似/app/class//upload
的东西。我只想做一些类似于/app/class/upload
的事情
有可能吗
public function superAction(Request $request, $id = null)
{
try {
if ($id !== null) {
$yourObject = $this->admin->getObject($id);
}
} catch (NotFoundHttpException $e) {
error_log($e->getMessage());
}
//... your logic
}
$id
。您还可以使用GET方法传递变量。你想买多少就买多少
想象一下,您希望更新所有对象。然后您可以创建updateAllAction()
,然后添加此路由:
/**
* @param RouteCollection $collection
*/
protected function configureRoutes(RouteCollection $collection)
{
$collection->add('updateAll', 'update/all');
}
只要您的操作不关心特定对象,就可以避免uri中的$this->getRouterIdParameter()
希望对你有帮助
public function superAction(Request $request, $id = null)
{
try {
if ($id !== null) {
$yourObject = $this->admin->getObject($id);
}
} catch (NotFoundHttpException $e) {
error_log($e->getMessage());
}
//... your logic
}
$id
。您还可以使用GET方法传递变量。你想买多少就买多少
想象一下,您希望更新所有对象。然后您可以创建updateAllAction()
,然后添加此路由:
/**
* @param RouteCollection $collection
*/
protected function configureRoutes(RouteCollection $collection)
{
$collection->add('updateAll', 'update/all');
}
只要您的操作不关心特定对象,就可以避免uri中的$this->getRouterIdParameter()
希望对你有帮助 您如何定义此路由的凝乳控制器操作?@MKhalidJunaid,是的,我定义了。您如何定义此路由的凝乳控制器操作?@MKhalidJunaid,是的,我定义了。我不知道只能设置
$collection->add('upload','upload')代码>。这就是答案。非常感谢。我不知道只能设置$collection->add('upload','upload')代码>。这就是答案。非常感谢。