Symfony 2自定义表单字段类型:如何仅一次添加javascript和CSS?

 2021-04-27 

Symfony 2 custom form field type: how to add javascript and css only once?

我想在自定义Symfony 2表单字段类型扩展中使用javascript。因此,我有如下的Twig扩展模板:

1
2
3
4
5
6
{% block some_widget %}
    <input ... />

    <script src="some.js">
    <link href="some.css" />
{% endblock %}

但是我希望这些脚本和链接标签在HTML中只出现一次,最好是在head标记中,而无需修改基本模板。我试图扩展Twig块,但无法访问表单模板中的操作模板块。也许是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{# widget tempate #}
{% block some_widget %}
    <input ... />

    {{ use_javascript('some.js') }}
    {{ use_css('some.css') }}
{% endblock %}

{# main action template #}
...
<head>
{{ dump_javascripts() }}
{{ dump_css() }}
</head>
...

如何使用Symfony 2 Forms Twig执行此操作?

P.S。对不起,我的英语不好。


n


最好的方法是为单独的模板提供css


n


n


这就是我的使用方式。希望这就是您要寻找的。

base.html.twig

1
2
3
4
5
<head>
   {% block stylesheets %}
       css...
   {% endblock %}
</head>

foo.html.twig

1
2
3
4
5
6
7
8
{% extends '::base.html.twig' %}

{% block stylesheets %}
   {{ parent() }}

   css that you need in foo.html.twig

{% endblock %}