2017-11-07 4 views
2

私は自分のアプリケーションのほとんどの部分で使いたいbase.html.twigを持っています。小枝 - 他のテンプレートを除外する方法は?

それは次のようになります。

<html> 
    <head> 
     <title>{% block title %}Stack Example{% endblock %}</title>   

     <link rel="stylesheet" href="/resources_admin/dist/css/custom.css"> 

     {% block stylesheets %}{% endblock %} 
    </head> 
    <body class="hold-transition skin-blue sidebar-mini"> 
     {% include 'admin/top_menu/top_menu.html.twig' %} 
     {% include 'admin/menu/menu.html.twig' %} 
     {% block body %}{% endblock %} 
     {% include 'admin/footer/footer.html.twig' %} 

     <script src="/resources_admin/dist/js/custom.js"></script> 

     {% block javascripts %}{% endblock %} 
    </body> 
</html> 

すべてが正常です。しかし私はbase.html.twigを使いたい場所に1つのテンプレートを持っていますが、top_menu.html.twigを含めたくありません。

テンプレートから何かを除外する方法はありますか?それとも新しいものを作る必要がありますか?

答えて

5

デフォルト値でブロックを設定するだけで済みます。その後、必要なときに上書きします。あなたの特定のテンプレートで

<body class="hold-transition skin-blue sidebar-mini"> 
    {% block topmenu %} 
     {# this is the default value #} 
     {% include 'admin/top_menu/top_menu.html.twig' %} 
    {% endblock %} 
    [...] 

base.html.twig:以下フロランDestremauコメントへ

{# overwrite default top menu #} 
{% block topmenu %}{% endblock %} 

おかげで、短いバージョンは

{% block topmenu "" %} 
+0

である私はすでに知っていましたそれは私には別の解決策があります。とにかく感謝! –

+3

@JohnEhrmantrautブランクのブロックステートメントが好きでない場合は、短い構文を使用することもできます。 '{%block topmenu" "%}' –

+0

すごくいいです!ありがとう!私はそれが好きです@FlorentDestremau –

関連する問題