Liquid - 带有变量的switch语句

时间:2016-05-09 09:36:22

标签: if-statement switch-statement shopify liquid

我有以下情况:

<label for="swatch-{{ option_index }}-{{ value | handle }}" style="background-color: 
        {% capture color %} {{ value | handle }} {% endcapture %}

      {% assign handle = color %}
        {% case handle %}
          {% when 'red' %}
             red;
          {% when 'navy' %}
             navy;
          {% else %}
             #f00;
        {% endcase %}

background-image: url({{ value | handle | append: '.' | append: file_extension | file_url }})">

当我执行{{color}}时,它会打印出正确的颜色,但是当我尝试在比较语句中使用它时,它会失败,返回空白(或者更确切地说是默认值#f00。与IF相同声明。

如果我定义

{% assign handle = 'red' %}

然后它工作正常。

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用{{ value | handleize }}?据我所知,“句柄”不是正确的操作员。

答案 1 :(得分:0)

我有同样的问题。我发现这对我有用......

尝试使用捕获而不是分配,如下所示:

A[1:500]

然后像以前一样继续你的案例陈述:

B[2]