1

我正在使用 Symfony 的FormBuilder创建一个表单并通过 Twig 呈现它。

我用这个作为我的类型:

<?php

namespace Vendor\AppBundle\Form;

use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;

class RequestType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name', 'text');
        $builder->add('email', 'email');
        $builder->add('question', 'textarea');

    }

    public function getDefaultOptions(array $options)
    {
        return array('data_class' => 'Vendor\\AppBundle\\App\\Request');
    }

    /**
     * Returns the name of this type.
     *
     * @return string The name of this type
     */
    public function getName()
    {
        return 'request';
    }
}

当我渲染我的表单(使用form_widget(form.field))时,一切看起来都很好,除了name字段,它不输出任何输入字段。如果我更改为“电子邮件”之类的内容,它会完美运行。

我正在使用 Sf2.3 BETA 1。关于为什么仅在文本字段中发生这种情况的任何想法?值得注意的是,除了实际的<input>标签之外,标签、字段集和所有内容都会被输出。

编辑 1: 是控制器代码,以备不时之需。

编辑 2:值得注意的是,这是从 Sf2.1 应用程序到 Sf2.3 BETA 1 的更新。代码已更新,但可能有问题?

4

1 回答 1

0

在这种情况下,这与此代码是对非常旧(+2 年)代码的重构有关。

问题是表单小部件正在被另一个替换,并且“另一个”正在弄乱输出,因为 Twig 的功能和结构都不相同。

于 2013-05-25T02:21:09.037 回答