symfony - 如何仅在某些页面上从 Symfony 中的基本扩展中排除树枝部分?
问题描述
有没有办法在 Twig 中指定“扩展”以排除其中一个包含的部分?
为了更好地解释我自己,这是我的 base.html.twig
<body>
{% include '/main/_navbar.html.twig' %}
{% block body %}
{% for flashError in app.flashes('success') %}
<div class="alert alert-success" role="alert">{{ message }}</div>
{% endfor %}
{% endblock %}
{% include '/main/_footer.html.twig' %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="{{ asset('script/app.js') }}"></script>
</body>
在我的登录页面上,我不需要我的_navbar.html.twig
部分。有没有办法不包括(排除)它知道我extends
从此base
模板中的视图?有没有我可以通过的“选项” extends
?
这是extend
我在登录页面上用于基本模板的代码:
{% extends 'base.html.twig' %}
解决方案
只需将您不想包含在单独块中的包含包装起来,然后用空内容覆盖该块,例如
base.html.twig
<body>
{% block nav %}
{% include '/main/_navbar.html.twig' %}
{% endblock %}
{% block body %}
{% for flashError in app.flashes('success') %}
<div class="alert alert-success" role="alert">{{ message }}</div>
{% endfor %}
{% endblock %}
{% include '/main/_footer.html.twig' %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="{{ asset('script/app.js') }}"></script>
</body>
login.html.twig
{% extends "base.html.twig" %}
{% block nav %}{% endblock %}
推荐阅读
- ajax - 如何使用 Laravel 分页执行 select2 结果无限滚动
- javascript - 每次构建后如何将路由器视图发布到后端一次
- python - requests 库的 session 对象是如何工作的?
- javascript - js无法加载模块
- mysql - 如何替换数据库表中的“+”和“-”号
- html - div 元素在不适合文本时不会拉伸(使用最小高度)
- c++ - 无法使用 SDL2 显示纹理
- ruby-on-rails - UsersController#create 中的 NoMethodError ——你的意思是超级吗?
- powershell - 具有预定义属性的对象实例化
- python - 我正在尝试运行一个包含名为 class 的列的 df.query,并且收到语法或错误,说明 class 是保留关键字