我正在使用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") %}
液体不接受括号,因此显然这是行不通的。而且没有括号也不行。该文档提供了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 %}