在 SF2 中的集合表单上设置主题


Theming on a collection form in SF2

是否可以在Symfony 2表单中自定义特定集合的小部件?

我在默认主题中看到此块:

{% block collection_widget -%}
    {% if prototype is defined %}
        {%- set attr = attr|merge({'data-prototype': form_row(prototype) }) -%}
    {% endif %}
    {{- block('form_widget') -}}
{%- endblock collection_widget %}

但我不想为所有集合覆盖小部件,而只针对一个特定的集合。

这是我收藏的声明:

$builder->add(
    $builder->create('photos', 'collection', [
        'type' => 'photo',
        'allow_add' => true,
    ])->setData($photosValues)
);

有没有办法做这样的事情?

{% block collection_photo_widget -%}
    Here my HTML for my photo collection
{%- endblock collection_widget %}

问候

要查找正确的块名称,请转到profiler > forms > {your form} > {your collection field} > view variables

你会在那里看到一个键:"unique_block_prefix"

这是您的块的名称 要编辑整个集合小部件,您应该在块名称中添加_widget以更深入地了解

$builder->add(
    $builder->create('photos', 'collection', [
        'type' => 'photo',
        'allow_add' => true,
        'attr' => array('class'=>'myCSSClassName'),            
    ])->setData($photosValues)
);

无需触摸核心系统