2012-01-21 26 views
3

我试图添加样式表到一个数组,以便作为树枝模板扩展通过聚合样式将通过第二个和第三个级别。Twig资产样式表之间的若干模板

此主题相关Combining Assetic Resources across inherited templates

config.yml,我做了一个全球性的阵列mystyles,使我们能够增加必要的样式,我们“冒泡”,通过渲染过程列表。

twig: 
debug:   %kernel.debug% 
strict_variables: %kernel.debug% 
globals: 
    mystyles: [] 

从我的行动被称为第一个模板是从CommunicatorBundle /资源/视图/管理/ Workspace.html.twig,我已经设置此页面调用admin.workspace.css的特定样式。

{% extends "DJCommunicatorBundle::base.html.twig" %} 
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/admin.workspace.css"]|merge(mystyles) %} 

它扩展了它有它自己的要求data-table.cssCommunicatorBundle /资源/视图/ base.html.twig

{% extends "DJSharedBundle::base.html.twig" %} 
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/data-table.css" ]|merge(mystyles) %} 

最后,我们载入最模板,SharedBundle /资源/视图/ 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 }} %} 

inspite这种类型的测试中,打印,我希望以正确的顺序排列

{{ 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 }} %} 

我觉得在全球应该是一个可行的解决方案,虽然目前没有工作。希望我接近。什么可以解决这个问题

回答

4

这是不可能的,因为资产静态分析您的模板,找到您在那里定义的任何资产。支持这些动态的案例在路线图上。

+0

当!假设我将开展适应工作以满足这一需求。 – ojreadmore

+0

你有一个github门票上的链接或其他东西可以遵循的状态? –