繁体   English   中英

从包含的Twig模板中干净地添加JS和CSS

[英]Adding JS and CSS cleanly from included Twig templates

我想找出是否有一种从包含的模板中添加JS和CSS的简洁方法。

因此,例如,如果layout.html.twig具有:

{% include 'GenericBundle:Generic:page.html.twig' with {'data': data} %}
...
{% block javascript %}

    {% javascripts
        '@GenericBundle/Resources/public/js/app/jquery/jquery.min.js'
        '@GenericBundle/Resources/public/js/lib/bootstrap/bootstrap.min.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}

{% endblock %}

在通用捆绑页面中,我想包含更多Javascript,但将其添加到已建立的Javascript块以保持HTML和JS最佳实践。

有干净的方法吗? 我正在使用Symfony2,并且很可能使用Singletons等解决方案,但如果有可用的话,我宁愿使用更干净的方法。

我知道我参加派对有点晚了,但是使用Twig 1.2,你可以使用use标签和功能:

GenericBundle:通用:page.html.twig

{% block javascripts %}
    <script src="..."></script>
{% endblock %}
{% block included_content %}
   Bar
{% endblock %}

layout.html.twig

{% use 'GenericBundle:Generic:page.html.twig' with javascripts as page_javascripts %}

{% block javascript %}

    {% javascripts
        '@GenericBundle/Resources/public/js/app/jquery/jquery.min.js'
        '@GenericBundle/Resources/public/js/lib/bootstrap/bootstrap.min.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
    {{ block('page_javascript') }} // Don't forget the 'braces'

{% endblock %}

...
{{ block('included_content') }} // Don't forget the 'braces'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM