【发布时间】:2013-09-20 16:55:38
【问题描述】:
我想删除 Symfony2 中 <button> 周围的 <div> 元素。
我的问题是:如何自定义 Symfony2 中的按钮?
【问题讨论】:
-
你的问题很模糊
我想删除 Symfony2 中 <button> 周围的 <div> 元素。
我的问题是:如何自定义 Symfony2 中的按钮?
【问题讨论】:
将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 aka twig 引擎的默认表单主题。
只需在您的模板中或全局覆盖块 button_row。
您将在文档章节How to customize Form Rendering 中找到有关如何覆盖表单的所有必要信息。
【讨论】:
您可以手动渲染表单并自定义每个小细节。
我这样渲染我的表单。 (删减版方便阅读)
<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>
【讨论】:
创建
/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>的表单渲染
【讨论】: