Symfony |显示形式时,Twig获取字段数据

时间:2016-05-25 14:20:51

标签: forms twig symfony

我有一个简单的表单来过滤主题功能列表:

$builder
        ->add('themes', EntityType::class, array(
            'class'    => 'XXBundle:Theme',
            'choice_label' => 'image',
            ...
        ))
        ->add('save', SubmitType::class)
    ;

在Twig中我尝试访问所有主题来进行特定渲染,实际上我想显示Image(与每个主题相关:theme.image)而不是主题。

我遵循了其他解决方案:Symfony2 + CreateFormBuilder how to render an image in a form

但它不起作用:

form.vars.value.themes / form.vars.data.themes (or form.themes.vars.value / form.themes.vars.data this is the same) 

存在但始终为空。因为这是一种新形式。如果我提交表单,它就会运行form.vars不再是空的。

第一次显示表单时如何获取主题?我跟着文档(http://symfony.com/doc/current/reference/forms/twig_reference.html#form-variables-reference),但我找不到我想要的东西。

TY

1 个答案:

答案 0 :(得分:1)

基本上,EntityType是一个选择列表 - form.themes.vars.choices。它是一个ChoiceView数组,用于获取实体只需访问公共数据属性。

因此,请使用此属性访问实体:

form.themes.vars.choices

更易于访问的属性列在文档here中。

希望这个帮助