gpt4 book ai didi

symfony - 奏鸣曲管理员 : specific batch_confirmation template per batch action

转载 作者:行者123 更新时间:2023-12-02 02:36:18 24 4
gpt4 key购买 nike

今天工作时,我必须在 Sonata 项目中创建自定义批处理操作。

没关系,问题是:

我想为我的新批量操作设置特定的batch_confirmation模板,我需要它不影响其他。

如果不存在解决方案,我将覆盖默认的batch_confirmation模板,在我的奏鸣曲配置中更改它,并制作许多“if”语句来保留我的其他管理类的基本确认,但我认为这不是更干净的选择。

有人已经遇到过此类问题吗?

最佳答案

当您添加自定义批处理操作时,您需要在 Controller 中添加一个自定义操作来扩展普通的 CRUD Controller ,请参阅:https://sonata-project.org/bundles/admin/master/doc/reference/batch_actions.html .

您可以返回任何模板,例如:

,而不是返回重定向响应,就像您在文档中看到的那样:
return $this->render(
'YourBundle:Batch:confirmation.html.twig',
$templateParams
);

在此确认模板中,您可以添加自定义 html。当您想要确认批处理方法时,您需要一个表单来回发您的自定义操作,其中包含您需要的数据。

从batch_confirmation.html.twig 将表单复制到您自己的确认模板。在原来的batch_confirmation模板中,设置了一个隐藏字段来检查用户是否确认:<input type="hidden" name="confirmation" value="ok">

如果用户确实确认,请检查您的自定义操作(检查请求对象)。然后进行批量操作。 (您还可以返回第二步模板,以构建向导)。

最后添加一些即时消息

$this->addFlash('sonata_flash_success', 'everything is ok!'); 

和返回列表网址:

return new RedirectResponse($this->admin->generateUrl('list', array('filter' => $this->admin->getFilterParameters())));

关于symfony - 奏鸣曲管理员 : specific batch_confirmation template per batch action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33254264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com