我正在开发一个合并主题系统的symfony2项目。由于这个系统的限制,我不得不在include文件中定义javascripts和stylesheets块,然后包含在主题的布局分支文件中。的结构如下:小枝/资产块继承 - 无法添加到父项的初始块()
应用程序/资源/主题/ {THEME_NAME} /views/layout.html.twig
... code ...
{% include '::theme_assets.html.twig; %}
应用程序/资源/视图/ theme_assets.html.twig
{% block stylesheets %}
{% stylesheets
'stylesheet.css'
'stylesheet2.css'
filter='cssrewrite'
output='css/packed/layout_theme.css'
%}
<link type="text/css" rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
{% block javascripts%}
{# same as stylesheets #}
{% endblock %}
然后,我希望能够在单个页面上面设置的初始块内包含额外的css/js文件,例如
的src /布拉赫/ BlahBundle /资源/视图/ subpage.html.twig
{% extends 'BlahBundle::layout.html.twig' %} {# the theme system works out that there is a theme overrde for this file #}
{% block body %}
...body...
{% endblock %}
{% block stylesheets %}
{{ parent() }} {# should include the initial block #}
<link rel="stylesheet" type="text/css" href="{{ asset('/bundles/blah/css/additional1.css') }}" />
<link rel="stylesheet" type="text/css" href="{{ asset('/bundles/blah/css/additional2.css') }}" />
{% endblock %}
出于某种原因,这些额外的样式表时,我认为 “subpage.html.twig” 不包括在内。我高度怀疑问题在于我的实施,但我不确定我可以尝试什么!