我有小问题。我创建了许多自定义表单字段,每个字段添加必要的css / js文件。
在此示例中,我将此字段命名为" testType"。
我在formTheme中添加它:
{% stylesheets
'plugins/test.min.css'filter='cssrewrite' output='compiled/css/test.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
<input id="{{ id }}" {{ block('widget_attributes') }} type="{{ type }}" value="{{ value is not empty ? value : '' }}">
一切正常,但如果我将多次使用同一领域。它们将被添加多次。
如何编写一些额外的插件,只在form_start或form_end中添加一次和唯一的css / js文件?
答案 0 :(得分:1)
您需要覆盖form_start block
。
{% block form_start %}
{% spaceless %}
{% set method = method|upper %}
{% if method in ["GET", "POST"] %}
{% set form_method = method %}
{% else %}
{% set form_method = "POST" %}
{% endif %}
{% stylesheets
'plugins/test.min.css'filter='cssrewrite' output='compiled/css/test.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
<form method="{{ form_method|lower }}" class="form-horizontal"
action="{{ action }}"{% for attrname, attrvalue in attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}{% if multipart %} enctype="multipart/form-data"{% endif %}>
{% if form_method != method %}
<input type="hidden" name="_method" value="{{ method }}" />
{% endif %}
{% endspaceless %}
{% endblock form_start %}
在此处详细了解表单自定义:http://symfony.com/doc/current/cookbook/form/form_customization.html