Я разрабатываю проект symfony2, который включает в себя систему тем. Из-за ограничений этой системы мне приходится определять блоки javascripts и таблиц стилей во включаемом файле, который затем включается в файл ветки макета темы. Структура выглядит следующим образом:
приложение/Ресурсы/темы/{имя_темы}/представления/макет.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/Blah/BlahBundle/Resources/views/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». Я очень подозреваю, что проблема заключается в моей реализации, но я не уверен, что я могу попробовать!