我在 base.html.twig 文件中添加了一些变量 我在“捆绑”
中有另一个文件 index.html.twig 文件我在 index.html.twig 中扩展了 base.html.twig 文件,该文件工作正常,因为我能够看到基础中的所有内容都在浏览器中呈现当我打电话给 index.html.twig 时,但当我尝试从 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一样正常
答案 0 :(得分:3)
你的方法太奇怪了,我不确定你为什么要这样做, 根据我在问题中找到的,尝试做这样的事情:
在基地:
let formatter = NSNumberFormatter()
formatter.usesGroupingSeparator = true
formatter.groupingSeparator = "."
let number = 2000000
let string = formatter.stringFromNumber(number)
在索引中:
<!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>
答案 1 :(得分:0)
我在 symfony config.yml 文件中设置了twig的全局答案,这里是代码
config.yml
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
isFooter: true
isHeader: true
<强> base.html.twig 强>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon') }}" />
</head>
<body>
{% if isHeader == true %}
<div class="container-fluid header">
{% include 'header.html.twig' %}
{% block header %}
{% endblock %}
</div>
{% endif %}
{% block body %}
{% endblock %}
{% if isFooter == true %}
<div class="footer">
{% include 'footer.html.twig' %}
{% block footer %}
{% endblock %}
</div>
{% endif %}
<noscript><div class="alert alert-danger">You must enable Javascript on your browser for the site to work optimally and display sections completely.</div></noscript>
</body>
</html>
<强> index.html.twig 强>
{% set isFooter = true %}
{% set isHeader = false %}
{% block body %}
{% endblock %}
变量isHeader = false将从基本模板中删除标题,以便在调用index.html.twig时不会呈现
任何其他变通办法的人请评论您的建议。