Kam*_*elj 2 html include symfony twig
我有我的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>
Run Code Online (Sandbox Code Playgroud)
一切都好.但我有一个模板,我想使用我的base.html.twig,但我不想包括top_menu.html.twig
.
有没有办法从模板中排除某些东西?或者我必须创建一个新的?
您只需要使用默认值设置块.然后在需要时覆盖它.
base.html.twig
<body class="hold-transition skin-blue sidebar-mini">
{% block topmenu %}
{# this is the default value #}
{% include 'admin/top_menu/top_menu.html.twig' %}
{% endblock %}
[...]
Run Code Online (Sandbox Code Playgroud)
在您的特定模板中:
{# overwrite default top menu #}
{% block topmenu %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
感谢下面的Florent Destremau评论,更短的版本是
{% block topmenu "" %}
Run Code Online (Sandbox Code Playgroud)