如何自定义集合中的单个字段,symfony 2

时间:2014-05-12 22:31:13

标签: php symfony symfony-2.1 symfony-2.3

我需要自定义如何绘制集合中的字段。

我有实体A:

class A {
    ...
    /**
     * @ORM\OneToOne(targetEntity="B", cascade={"persist"})
     * @ORM\JoinColumn(name="b_id", referencedColumnName="id")
     */
    private $b;
    ...
}

和实体B:

class B {
    ...
    /**
     * @var array
     *
     * @ORM\Column(name="cs", type="array", nullable=true)
     */
    private $cs;
    ...
}

我有表单类型:

class AType {
    ...
    ->add(
        'b',
        new BType(),
        array(
            'label' => false
        )
    )
    ...
}

class BType {
    ...
    ->add(
        "cs",
        "collection",
        array(
            "type" => "hidden",
            'label' => false,
            'cascade_validation' => true,
            'allow_add' => true,
            'allow_delete' => true,
            'data' => array(1,2,3),
        )
    ...
}

现在,我需要的是自定义如何绘制cs中的项目。我google了一下,尝试了几个选项,将什么放入我的表单主题:

{% block _NAME_ %}
{% endblock %}

使用 NAME

_a_b_cs_widget
_b_cs_widget
_cs_widget
_atype_b_cs_widget
_atype_btype_cs_widget
_btype_cs_widget

和其他几个人,现在已经有效了。有人可以帮帮我吗?

由于

1 个答案:

答案 0 :(得分:2)

正确的是:

_a_b_cs_entry_widget