Symfony2制作这种形式的最佳方法是什么

时间:2014-10-16 11:41:19

标签: forms symfony

我正在建立一个购物网站,我遇到了某种形式的问题。关于尺寸部分。我将展示一些屏幕截图,它会更容易理解:

different choice of size

这种形式是什么类型的领域?

然后我想让它显示客户端列表

enter image description here

我不要求你为我做这份工作,但是如果你有一些东西(比如教程或关于这种形式的一些文档)或某些有意义的话我会非常喜欢

Thx!

2 个答案:

答案 0 :(得分:1)

我不确定,但我认为您正在寻找Symfony的Form Types Reference

在这种情况下,您可能正在讨论choice字段。选择字段可以呈现为一组复选框/单选按钮(如第一个图像中所示),也可以呈现为<select>元素(下拉列表),如第二个图像中所示,具体取决于{{3} }设置为true或false。

单选按钮:

$builder->add('size', 'choice', array(
    'choices' => array('s' => 'S', 'm' => 'M', 'l' => 'L', 'xl' => 'XL'),
    'expanded' => true,
));

下拉列表:

$builder->add('size', 'choice', array(
    'choices' => array('s' => 'S', 'm' => 'M', 'l' => 'L', 'xl' => 'XL'),
    'expanded' => false,
));

expanded的默认值为false,因此如果您不指定该字段,该字段将呈现为下拉列表。

如果数据库中的表中存储了所有可用的大小,您可能还需要查看expanded option字段类型。实体类型基本上扩展了选择类型,但从数据库中检索可用的选项:

$builder->add('size', 'choice', array(
    'class' => 'MyWebshopBundle:Size',
    'property' => 'name',
    'expanded' => false,
));

这将从数据库中获取所有Size个实体,并在下拉列表中使用其name属性。

答案 1 :(得分:0)

这是一个选择类型字段

  $form = $this->createFormBuilder($data)
            ->add('size', 'choice',
                array('choices' => array(
                    1   => 'X',
                    2 => 'XL',
                  ...
                ),
                    'data' =>'selectionnez la taille'
                ))  
            ->getForm();

选项倍数可以在单选按钮(false)和复选框(true)之间切换 如果你喜欢这样的列表,你必须将expanded属性设置为false,true给出复选框或无线电。

http://symfony.com/doc/current/reference/forms/types/choice.html