在SF2中收集表格上的主题

时间:2015-01-30 11:45:23

标签: php forms symfony

是否可以在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 %}

此致

2 个答案:

答案 0 :(得分:2)

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

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

这是用于编辑整个集合小部件的块的名称,您应该将_widget添加到块名称以进行更深入的

答案 1 :(得分:0)

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

无需触摸核心系统