2012-01-21 3 views
3

私は配列にスタイルシートを追加しようとしています。そのため、twigテンプレートが2番目と3番目のレベルまで拡張され、アグリゲーションされたスタイルが引き継がれます。いくつかのテンプレートのアトリビュートスタイルシート

このトピックは、config.ymlからCombining Assetic Resources across inherited templates

に関連して、我々はレンダリングプロセスを通じて、私たち「バブルアップ」などの必要なスタイルのリストに追加できるように、私は、グローバル配列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.cssのしているCommunicatorBundle /リソース/ビュー/ 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> 

しかし、それはこのラインで、私は適切な順序

{{ mystyles|join(', ') }} 

にそれは{% stylesheets %}ようです期待のアレイを印刷し、テストのこのタイプの

{% stylesheets {{ mystyles }} %} 

inspiteを破りますタグは、以下の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

Assetic が静的​​にのテンプレートを分析して、そこに定義したアセットを検索するため、これは現在できません。これらの動的なケースをサポートすることがロードマップにあります。

+0

Dang!私がこのニーズを満たすために適応に取り組むと仮定します。 – ojreadmore

+0

githubチケットなどのステータスに従うためのリンクがありますか? –

関連する問題