首先,让我从我尝试使用的代码开始:用途:
{% if modal == true %}
{% block header %}{% endblock %}
{% block footer %}{% endblock %}
{% endif %}
我试图实现的是不显示我的页眉和页脚块,只有当变量称为模态是真的。我在if语句下面也有这个:
{% block content %}
{{ dump(modal) }}
{% endblock %}
这里发生的是,无论modal的值是否为true,我用于清空页眉和页脚块的重写总是运行。所以,我运行这个,模态传入为false,结果是页眉和页脚仍然不显示。dump命令的输出准确地显示了true或false,但条件在if语句中的计算结果似乎总是为true。
块可以不被 Package 在条件语句中吗?或者我需要做一些额外的事情来使它工作?
2条答案
按热度按时间kupeojn61#
定义
在父分支模板中。然后在模板中,你想决定是否显示页脚的内容,你可以这样做:
如果模态为真-页脚将为空,如果不是-在页脚将打印“一些标准内容”
x8diyxa72#
块不关心它周围的任何逻辑,如文档中所述:
块提供了一种方法来更改模板的某个部分的呈现方式,但它不会以任何方式干扰其周围的逻辑。
您应该将该逻辑放在块内部,而不是放在外部,正如您在那篇文章的最后一个示例中看到的那样。