Sonata Admin Bundle - 添加多步批处理操作

时间:2014-06-02 14:04:49

标签: php symfony sonata-admin

我需要向我的SonataAdmin实体添加一个自定义批处理操作,允许用户在列表视图中选择多个项目,然后选择自定义批处理操作(称为“编辑日期”)然后......这里是我被卡住了......显示一个带有两个日期字段的表单,在提交时,会使用输入的日期更新所选列表项。

甚至可以在SonataAdminBundle中进行这样的多步批量操作吗?

1 个答案:

答案 0 :(得分:2)

您可以将日期字段添加到模板中:

{# 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()方法中的值。

相关问题