2

テーマシステムを組み込んだ symfony2 プロジェクトを開発しています。このシステムの制限により、テーマのレイアウト小枝ファイルに含まれるインクルード ファイルで javascripts と stylesheets ブロックを定義する必要があります。構造は次のとおりです。

app/Resources/themes/{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/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」を表示すると、何らかの理由でこれらの追加のスタイルシートが含まれていません。問題は私の実装にあるのではないかと強く思っていますが、何を試すことができるかわかりません!

4

1 に答える 1

0

同様の問題が発生しましたが、私が行ったことと取り組んでいることは次のとおりですlayout.html.twig。すべてのページのベースとして使用しています。(すべてにこのレイアウトが含まれます)。An it has: {% block stylesheets %}... {% endblock %}and NO{% stylesheets ... {% endstylesheets %}さらにそれに。単一のページに新しいスタイルシートを追加したい場合は、親を呼び出して、Sf2 が css を最後に追加することで、スタイルシート ブロックを再度呼び出します。しかし、このソリューションで私が知っていることの1つは、私が推測するように、アセットのダンプは許可されないということです.

于 2013-03-29T10:36:03.110 に答える