访问twig中未映射的表单字段(Symfony 2.3)

时间:2013-12-02 12:16:54

标签: php forms symfony twig symfony-2.3

我有隐藏的未映射字段的表单:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        ...
        $builder
            ...
            ...
            ->add(
                'geolocationBreadcrumbs',
                'hidden',
                array(
                    'required' => false,
                    'mapped' => false
                )
            );
    }

我希望通过{{form.vars.value.field_name}}

访问TWIG中该字段的值
<div>{{ form.vars.value.geolocationBreadcrumbs }}</div>

但是我有一个错误:对象“Site \ UserBundle \ Entity \ User”的方法“geolocationBreadcrumbs”在“%path_to_twig_template%”中不存在

为什么Symfony 2.3会尝试在实体类中找到未映射字段的方法,以及如何从twig访问未映射的字段值direclty?

感谢。

1 个答案:

答案 0 :(得分:4)

您可以访问此字段的值:

{{ form.geolocationBreadcrumbs.vars.value }}

调用form.vars.value您可以访问User实体,这就是Symfony2返回异常的原因。