0

私はSymfony2アプリケーションに取り組んでおり、レイアウトテンプレートではなく、特定の小枝テンプレートにリソース(ここではcssとjs)をインポートしようとしています。ただし、extendsプロパティを使用すると、試したことが機能しないようです。ただし、レイアウトの継承がない場合は機能します。

これが私が使用したコードです:

{% block stylesheets %}
    {% stylesheets 'bundles/mybundlename/css/style.css'
                    filter='cssrewrite' %}
        <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
    {% endstylesheets %} 
{% endblock %}

{% block javascripts %}
    {% javascripts 'bundles/mybundlename/js/jquery-1.7.2.min.js'
                'bundles/mybundlename/js/jquery-ui-1.8.20.custom.min.js'
                        %}
        <script src='{{ asset_url }}' type='text/javascript'></script>
    {% endjavascripts %}
{% endblock %}

{% extends "MyBundle::layout.html.twig" %}

... the rest of my template ...

結論として、これらのリソースを継承テンプレートにインポートするにはどうすればよいですか?または、それらを一般的なレイアウトにインポートする方が簡単ですか(ただし、ページごとに読み込まれます:/)?

編集:@MyBundleルートタイプも使用しました。それらはエンジンによって検索されています(パスが間違っているとエラーが発生します)が、リソースはhtmlセクションに追加されません。

2番目の編集:それが機能しなかった理由は{{% blocks %}}、トップレベルのレイアウトでを宣言していなかった可能性があります。サブレイアウトとページで(「クリーンさ」の問題として){{parent()}}を実行して使用しましたが、機能します。

4

1 に答える 1

1

{% extends ... %}最初に来なければなりません。

このparent関数を使用して、レイアウトで定義されたスタイルシートとJavaScriptを上書きするのではなく、それらに追加することもできます。

于 2012-06-12T08:15:09.943 に答える