php-将基础模板变量从另一个捆绑包替代为子模板{Symfony 3 TWIG}
作者:互联网
我在base.html.twig文件中添加了一些变量
我在“捆绑包”中还有另一个文件index.html.twig文件
我在index.html.twig中扩展了base.html.twig文件,该文件运行良好,因为当我调用index.html.twig时,我能够看到base中的所有内容都在浏览器中呈现,但是当我尝试覆盖变量时index.html.twig中的base.html.twig文件
这是代码
base.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon') }}" />
</head>
<body>
{% set isHeader = (isHeader|default(true)) %}
{% if isHeader == true %}
<div class="container-fluid header">
{% include 'header.html.twig' %}
{% block header %}
{% endblock %}
</div>
{% endif %}
</body>
</html>
index.html.twig
{% extends 'base.html.twig' %}
{% set isHeader = false %}
这应该隐藏标题,但仍显示标题,就像我在base.html.twig文件中执行isHeader = false一样,它工作正常
解决方法:
您的方法太奇怪了,我不确定您为什么要这样做,
根据我从问题中发现的信息,尝试执行以下操作:
在基地:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon') }}" />
</head>
<body>
{%block top_header %}
<div class="container-fluid header">
{% include 'header.html.twig' %}
{% block header %}
{% endblock %}
</div>
{%endblock%}
</body>
</html>
在索引中:
{% extends 'base.html.twig' %}
{% block top_header %}{% endblock %} //keep this empty , remove the top_header content
标签:symfony,twig,php 来源: https://codeday.me/bug/20191118/2026877.html