将选择字段类型(symfony2)呈现为按钮

时间:2015-03-14 22:28:48

标签: symfony twig rendering choice

我有一个我无法解决的问题。我该如何处理以下内容:我有一个包含4个不同条目的选择字段,我以精选形式(twig)完美呈现。但是,我想将4个条目显示为4个单独的按钮。如何更改4的输入类型?或者我必须做一些完全不同的事情?

感谢您的帮助 -AS

编辑(新的以下问题):

亚历山德鲁,谢谢你的帮助。这非常有帮助。 我在fields.html.twig中添加了以下内容:

{% block _appbundle_action_Style_widget -%}
   {% for child in form %}
    <input type="button" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
        {% endfor %}
{%- endblock _appbundle_action_Style_widget %}

然而,当我渲染它时它告诉我有一个数组到字符串转换,这在某种程度上是行不通的。当我删除小部件属性,值和已检查的部分时,按钮将在没有那些按钮的情况下进行渲染。

2 个答案:

答案 0 :(得分:2)

您有几个选择可供选择:

  1. 您可以创建一个新的字段类型,让我们调用它&#34; button_group&#34;,这将扩展&#34;选择&#34;键入并为其编写自定义Twig,如下所示: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig#L95

  2. 您可以使用&#34;选项&#34;字段类型,选项为:expanded => true。并为它创建一个自定义表单模板,仅用于您需要的表单: http://symfony.com/doc/current/cookbook/form/form_customization.html#what-are-form-themes

答案 1 :(得分:0)

好的我解决了我的问题。为了访问值变量,我必须使用以下内容     {{child.vars.value}} 有了这个,我现在可以将变量放入值标记中。

感谢您的帮助。