gpt4 book ai didi

operators - Liquid:如何将运算符的输出分配给变量?

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

我正在使用 Shopify 的 Liquid 模板。我希望某些元素仅在月份恰好是 12 月时显示。由于有多个元素需要这个,我想在文档顶部设置一个变量,稍后引用。这是我的工作:

<!-- At the top of the page -->
{% assign month = 'now' | date: "%m" %}
{% if month == "12" %}
{% assign isDecember = true %}
{% else %}
{% assign isDecember = false %}
{% endif %}

<!-- Only show in December -->
{% if isDecember %}
Happy Holidays
{% endif %}

这有效(为了测试,我将“12”更改为当前月份)但它非常难看。在大多数语言中,我会做这样的事情:
{% assign isDecember = (month == "12") %}

Liquid 不接受括号,所以显然这行不通。没有括号它也不起作用。文档中有 using operators 的示例和 assigning static values to variables ,但没有将两者结合起来。

我可以分配 | 的输出过滤到一个变量,但似乎没有过滤器来覆盖每个运算符(甚至是必要的“==”),所以这并不令人满意。

有没有办法将运算符的输出分配给 Liquid 中的变量?

最佳答案

根据 this 的说法,没有办法优雅地做到这一点。 ,它们将不支持三元运算符。提到有人尝试过类似的事情。

稍微短一些/不同的版本是:

{% assign month = 'now' | date: "%m" %}
{% liquid
case month
when '12'
assign isDecember = true
else
assign isDecember = false
endcase %}

关于operators - Liquid:如何将运算符的输出分配给变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59887447/

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