Я пытаюсь добавить таблицы стилей в массив, чтобы, когда шаблоны ветви проходят через второй и третий уровни, сгенерированные агрегированные стили.Twig Assetic Stylesheets среди нескольких шаблонов
Эта тема связана с Combining Assetic Resources across inherited templates
От config.yml, я сделал глобальный массив mystyles
, так что мы можем добавить в список необходимых стилей, как мы «пузыриться» через процесс рендеринга.
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
globals:
mystyles: []
Первый шаблон вызывается из моего действия от CommunicatorBundle/Resources/Views/Администратор/Workspace.html.twig и я задал конкретный стиль для этой страницы под названием admin.workspace.css
.
{% extends "DJCommunicatorBundle::base.html.twig" %}
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/admin.workspace.css"]|merge(mystyles) %}
Он расширяет CommunicatorBundle/Ресурсы/Views/base.html.twig, который имеет свое собственное требование data-table.css
.
{% extends "DJSharedBundle::base.html.twig" %}
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/data-table.css" ]|merge(mystyles) %}
Наконец, мы загружаем самый внешний шаблон, SharedBundle/Resources/Views/base.html.twig, который имеет свои собственные стили, чтобы добавить перед всеми другими.
<head>
{% set mystyles = ['@DJSharedBundle/Resources/public/css/global.css', '@DJSharedBundle/Resources/public/css/grid.990.9-col.css']|merge(mystyles) %}
{% stylesheets {{ mystyles }} %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
</head>
Однако он ломает в этой линии
{% stylesheets {{ mystyles }} %}
несмотра этого типа теста, который печатает массив, который я ожидаю в правильном порядке
{{ mystyles|join(', ') }}
Кажется, что {% stylesheets %}
тег хочет что-то вроде следующего snippit для работы (что, по понятным причинам, не является объектом массива, а разделенным пробелами списком строк с разделителями).
{% stylesheets
'@DJSharedBundle/Resources/public/css/global.css'
'@DJSharedBundle/Resources/public/css/grid.990.9-col.css'
'@DJCommunicatorBundle/Resources/public/css/data-table.css'
'@DJCommunicatorBundle/Resources/public/css/admin.workspace.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
Даже тогда, я попытался установить строку такого длинного значения и печать, но это не работает, либо:
{%
set str = "@DJSharedBundle/Resources/public/css/global.css
@DJSharedBundle/Resources/public/css/grid.990.9-col.css
@DJCommunicatorBundle/Resources/public/css/data-table.css
@DJCommunicatorBundle/Resources/public/css/admin.workspace.css"
%}
{% stylesheets {{ str }} %}
Я чувствую, что глобальное должно быть жизнеспособным решением, хотя в настоящее время он не работает. Надеюсь, я рядом. Что это может исправить?
Dang! Предположим, что я буду работать над адаптацией, чтобы удовлетворить эту потребность. – ojreadmore
У вас есть ссылка на билет github или что-то, что следует за статусом? –