symfony2表单中每个集合的自定义属性复选框

时间:2015-05-25 14:40:08

标签: forms symfony twig

我有一个带有标题和描述属性的类,并创建了一个包含多个复选框的集合表单。

我可以为每个复选框设置标题属性实体的描述吗?

班级:

class Carpeta {   
    private $id;
    private $titulo;
    private $descripcion;
[...]
}

表格:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
[...]
$builder->add(
            'carpetas',
            'entity',
            array(
                'label' => 'str_documentacion_necesaria_general',
                'multiple' => true,
                'expanded' => true,
                'class' => 'Itbid\DirectorioBundle\Entity\Carpeta',
                'attr'=> array('class'=>'span12'),
                'choices' => $this->em->getRepository('DirectorioBundle:Carpeta')->findAll()
            )
        );
[...]
}

观点:

[...]
{{ form_widget(form.carpetas) }}
[...]

2 个答案:

答案 0 :(得分:0)

我不确定理解,但是如果你想设置HTML标签的title属性,你可以做这样的事情

{{ form_widget(form.property, {attr: {title: form.property.description}}) }}

form_widget的第二个参数允许您设置HTML属性

答案 1 :(得分:0)

你可以在渲染小部件时在树枝上完成它。

迭代表单元素的子元素并单独呈现每个选项。

{% for key, item in form.property.children %}
    {%  if item.vars.value == 'one' %}
        {%  set title = "Title for choice one" %}
    {%  elseif item.vars.value == 'two' %}
        {%  set title = "Title for choice two" %}
    {% else %}
        {%  set title = "" %}
    {% endif %}

    {{ form_widget(item, {attr: {title: title}}) }}
    {{ form_label(item, null, {
        'label_attr': {'title': title}
    }) }}
{% endfor %}