gpt4 book ai didi

Twig IF 语句不起作用

转载 作者:行者123 更新时间:2023-12-04 16:48:17 25 4
gpt4 key购买 nike

我正在尝试在 Twig 中使用一个简单的 if 语句。但是它似乎无法正常工作。从所有情况下输出的第一行可以看出,变量 emailActivation 肯定被正确加载到 Twig 中。

但是 if 语句的行为非常奇怪 - 例如,当变量为 false 并针对 1(case 2)进行测试时,它会按预期工作,但当它为 false 并针对 'false 进行测试时,则不会'(案例 1)。

相反,当变量为 true 时,if 语句在针对“true”测试变量时有效(case 3),但在针对 1 测试时无效(case 4) .

我只展示针对 1 的测试作为我尝试的解决方法,我真的认为问题在于(案例 1)。 (案例 5)和(案例 4)表明这些数字被评估为 bool 值。

我还认为缓存可能是个问题,但据我所知,我已将 Twig 设置为不使用缓存。即使 Twig 正在缓存问题仍然会出现在第一个页面加载和浏览器重新启动时。我已经在 IE 和 Firefox 中尝试过,但据我所知,浏览器与 Twig 本身的问题并不真正相关。

在此先感谢您的帮助!

案例 1 emailActivation = false

Twig 代码

{{ emailActivation }}
{% if emailActivation == true %}
feature disabled
{% else %}
other content
{% endif %}

输出
假的
功能已禁用

案例 2 emailActivation = false

Twig 代码

{{ emailActivation }}
{% if emailActivation == 1 %}
feature disabled
{% else %}
other content
{% endif %}

输出
假的
其他内容

案例 3 emailActivation = true

Twig 代码

{{ emailActivation }}
{% if emailActivation == true %}
feature disabled
{% else %}
other content
{% endif %}

输出
是的
功能已禁用

案例 4 emailActivation = true

Twig 代码

{{ emailActivation }}
{% if emailActivation == 1 %}
feature disabled
{% else %}
other content
{% endif %}

输出
是的
其他内容

案例 5 emailActivation = true

Twig 代码

{{ emailActivation }}
{% if emailActivation == 0 %}
feature disabled
{% else %}
other content
{% endif %}

输出
是的
功能已禁用

最佳答案

一个细节让人认为 emailActivation 可以是一个字符串。

{{ emailActivation }} 的输出是 falsetrue,但我认为 bool 值返回其他东西 ( ~ 什么都没有或 1 ~)

将条件作为字符串进行测试应该可以解决问题。

一种方式是(对于简单的字符串,而不是大内容):

{{ emailActivation }}
{{ (emailActivation == 'true') ? 'feature disabled' : 'other content' }}

友好

关于Twig IF 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34432814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com