Symfony2自定义按钮

时间:2013-09-16 13:52:21

标签: forms symfony button

我想删除Symfony2中的<div>元素arround <button>。 我的问题是:如何在Symfony2中自定义按钮?

3 个答案:

答案 0 :(得分:9)

围绕按钮包裹div的树枝块名为button_row

默认为:

{% block button_row %}
{% spaceless %}
    <div>
        {{ form_widget(form) }}
    </div>
{% endspaceless %}
{% endblock button_row %}

查看Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig又称树枝引擎的默认表单主题。

只需覆盖模板中的块button_row或全局覆盖。

您可以在文档章节How to customize Form Rendering中找到有关如何覆盖表单的所有必要信息。

答案 1 :(得分:1)

创建

/app/Resources/views/form_custom.html.twig

///app/Resources/views/form_custom.html.twig

{% extends 'form_div_layout.html.twig' %}

{% block button_row %}
    {% spaceless %}
            {{ form_widget(form) }}
    {% endspaceless %}
{% endblock button_row %}

config.yml

# Twig Configuration
twig:
    form:
        resources:
            - '::form_custom.html.twig'

所有表格都没有<div></div>

答案 2 :(得分:0)

您可以手动渲染表单并自定义每个细节。

我像这样渲染我的表格。 (剥离版本以便于阅读)

<form id="new-request"
      action="{{ path('request_create') }}" method="post" {{ form_enctype(form) }}>
        {{ form_row(form.data_one) }}
        {{ form_row(form.data_two) }}

        {{ form_row(form._token) }}

        <button type="submit">
            Save
        </button>

        <a href="{{ path('request_index') }}">
           Cancel
        </a>
</form>