Sonata Admin Bundle - 添加多步骤批处理操作
Posted
技术标签:
【中文标题】Sonata Admin Bundle - 添加多步骤批处理操作【英文标题】:Sonata Admin Bundle - add a multi step batch action 【发布时间】:2014-07-22 16:27:15 【问题描述】:我需要向我的 SonataAdmin 实体添加一个自定义批处理操作,该实体允许用户在列表视图中选择多个项目,然后选择自定义批处理操作(称为“编辑日期”)然后...这里是我被卡住了...显示一个包含两个日期字段的表单,提交时会使用输入的日期更新选定的列表项。
甚至可以在 SonataAdminBundle 中进行这样的多步骤批处理操作吗?
【问题讨论】:
【参考方案1】:您可以将日期字段添加到模板中:
# in Acme/ProjectBundle/Resources/views/CRUD/list__batch.html.twig #
# See SonataAdminBundle:CRUD:list__batch.html.twig for the current default template #
% extends admin.getTemplate('base_list_field') %
% block field %
<input type="checkbox" name="idx[]" value=" admin.id(object) " />
# your date fields here #
<input type="date" name="start" />
<input type="date" name="end" />
% endblock %
来源:13.2. (Optional) Overriding the batch selection template
这会将您的字段添加到每一行。
如果您只需要这些字段一次,例如在页脚(靠近批处理操作选择和导出功能)中,您可以在管理类中覆盖 CRUD/base_list.html.twig 模板:
public function getTemplate($name)
switch ($name)
case 'list':
return 'MyBundle:MyAdmin:list.html.twig';
break;
default:
return parent::getTemplate($name);
break;
然后使用 batchActionMultiStep() 方法中的值。
【讨论】:
以上是关于Sonata Admin Bundle - 添加多步骤批处理操作的主要内容,如果未能解决你的问题,请参考以下文章
Sonata Media Bundle 与 Sonata Admin Bundle 3.0(或 2.4)
sonata-project/user-bundle dev-master 与 sonata-project/doctrine-orm-admin-bundle 冲突