Symfony 2形成每行主题?

时间:2016-11-17 10:24:05

标签: symfony symfony-forms symfony-2.8

我多次访问过这些文档,但我似乎无法找到问题的简单答案。在我的表单中,如何将主题块应用于表单的每一行,以便可以应用正确的类。

为了解释,我目前在我的树枝模板中有这个:

{% form_theme form 'XXBundle:Themes/floatRows.html.twig' %}

  {{ form_start(form, {'attr': {'id': 'MyIDForm'}}) }}
        {{ form_errors(form) }}
        {{ form_row(form.row1) }}
        {{ form_row(form.row2) }}
        {{ form_row(form.row2) }}
  {{ form_end(form) }}

在我的主题文件中:

{% block form_row %}
  <div class="ftLeft">
    {%- if form.parent is empty -%}
        {{ form_errors(form) }}
    {%- endif -%}

    {{- form_label(form) -}}
    {{- form_widget(form) -}}
    {{- form_errors(form) -}}
  </div>
{% endblock %}

然而,我想要做的就是这个,

在我想要的主题文件中,

{% block FloatLeft %}
  <div class="ftLeft">
    {%- if form.parent is empty -%}
        {{ form_errors(form) }}
    {%- endif -%}

    {{- form_label(form) -}}
    {{- form_widget(form) -}}
    {{- form_errors(form) -}}
  </div>
{% endblock %}

{% block FloatRight %}
  <div class="ftRight">
    {%- if form.parent is empty -%}
        {{ form_errors(form) }}
    {%- endif -%}

    {{- form_label(form) -}}
    {{- form_widget(form) -}}
    {{- form_errors(form) -}}
  </div>
{% endblock %}

然后能够依次将每个块应用到每一行(或者我想要的任何地方):

{{ form_start(form, {'attr': {'id': 'MyIDForm'}}) }}
        {{ form_errors(form) }}
        {{ form_row(form.row1) }} <-Block FloatLeft
        {{ form_row(form.row2) }} <-Block FloatRight
        {{ form_row(form.row2) }} <-No Block, no float class!
{{ form_end(form) }}

欢迎所有人欢迎。

感谢。

1 个答案:

答案 0 :(得分:0)

我曾经遇到过同样的问题。我刚刚用新的简单功能扩展了枝条来解决它。如果您不知道如何前往this topic 您的功能和模板必须具有相同的名称。