我正在研究Symfony2应用程序,我正在尝试在特定的twig模板中导入资源(这里是css和js),而不是在布局模板中。但是,当我使用extends属性时,我尝试过的东西似乎不起作用。然而,当没有布局继承时,它确实。
这是我使用的代码:
{% block stylesheets %}
{% stylesheets 'bundles/mybundlename/css/style.css'
filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
{% endblock %}
{% block javascripts %}
{% javascripts 'bundles/mybundlename/js/jquery-1.7.2.min.js'
'bundles/mybundlename/js/jquery-ui-1.8.20.custom.min.js'
%}
<script src='{{ asset_url }}' type='text/javascript'></script>
{% endjavascripts %}
{% endblock %}
{% extends "MyBundle::layout.html.twig" %}
... the rest of my template ...
总结一下,我如何在继承模板中导入这些资源? 或者只是在一般布局中导入它们更好(但随后它会为每个页面加载:/)?
编辑:我也使用了@MyBundle路由类型,它们被引擎搜索(如果路径错误,我收到错误),但资源没有添加到html部分。
第二次编辑:它无法正常工作的原因可能是我没有在我的顶级布局中声明{{% blocks %}}
。我在子布局和页面中使用了{{parent()}}(作为“清洁度”的问题)并且它可以工作。