我正在使用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: This是控制器代码,以备不时之需。
编辑2:值得注意的是,这是从Sf2.1应用程序更新到Sf2.3 BETA 1.代码已更新,但可能有些问题?
答案 0 :(得分:0)
在这种情况下,这与此代码是真正旧的(+ 2年)代码的重构这一事实有关。
问题在于form widget was being replaced with another one和那个“另一个”正在弄乱输出,因为Twig的功能不同,也不是结构。