gpt4 book ai didi

symfony - 来自 Twig 中 cookie 的 boolean 值

转载 作者:行者123 更新时间:2023-12-04 04:43:08 29 4
gpt4 key购买 nike

当我的网站启动时,我有一个简单的 js 脚本,用于检测是否在高分辨率设备上查看该网站,然后将值保存到 cookie。

{% if app.request.cookies.has('d_p_r') %}
{% set retina = app.request.cookies.get('d_p_r') %}
{% else %}
{% set retina = false %}
<script> ... </script>
{% endif %}

我检查我的 Retina 值是否已设置为在我网站的某处输出 {{retina}},并且它在我的计算机上返回“false”,在我的 iPad 上返回“true”。到现在为止还挺好。

问题是当我尝试访问 boolean 值时。
{% if retina == true %}
<img alt="{{ alt }}" src="{{ ('img/' ~ img)|imagine_filter(filter) }}">
{% else %}
{% if big is defined %}
<img alt="{{ alt }}" src="{{ asset('img/' ~ img) }}">
{% else %}
<img alt="{{ alt }}" src="{{ ('img/' ~ img)|imagine_filter(filter ~ '@2x') }}">
{% endif %}
{% endif %}

{% ifretina == true %} 不能正常工作。如果我将其更改为 == false,我会在任何地方生成视网膜图片。就好像它总是返回 true,尽管 {{retina }} 的值返回 false。

我不知道我在这里做错了什么。我试着只做 {% ifretina %} 但这没有帮助。我还在所有尝试修复此问题之间清除了我的缓存。

最佳答案

问题是retina是一个字符串——不是一个 boolean 值。 Cookie 只是字符串,不支持类型。和 $nonEmtpyString == true总是 true .所以,你可以做 retina == 'true'相反。

但是如果你想在你的模板中使用一个 boolean 值,你可以这样做:

{% set retina = app.request.cookies.get('d_p_r') == 'true' ? true : false %}

关于symfony - 来自 Twig 中 cookie 的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594001/

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