【问题标题】:Getting access to unmapped form fields in twig (Symfony 2.3)访问 twig (Symfony 2.3) 中未映射的表单字段
【发布时间】:2013-12-02 12:16:53
【问题描述】:

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

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 直接访问未映射字段值?

谢谢。

【问题讨论】:

    标签: php forms symfony twig symfony-2.3


    【解决方案1】:

    您可以访问此字段调用的值:

    {{ form.geolocationBreadcrumbs.vars.value }}
    

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

    【讨论】:

    • 非常感谢。其作品。如果您给我 symfony 文档的链接,我将不胜感激。这对我来说很有趣,因为我在 symfony.com/doc/2.3/book/forms.html 找不到这种方式
    • 我在 symfony 文档中没有找到这个 - 我检查了 FormView 类的源代码。
    猜你喜欢
    • 2020-03-01
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2023-04-05
    相关资源
    最近更新 更多