Shopify中Case语句能否使用OR运算符避免代码重复?
解决Liquid Case语句中多值匹配的问题
当然可以!你完全不需要重复编写代码来匹配多个shipping_method.title值,不过要注意Liquid模板语法里的逻辑或运算符是or,而不是你写的||(那是JavaScript这类语言的写法)。下面给你两种正确的实现方式:
方式1:用逗号分隔多个匹配值
这是Liquid Case语句里最简洁的写法,直接在同一个when子句里用逗号列出所有要匹配的值:
{% case shipping_method.title %} {% when 'packageA', 'packageC' %} 约5000行代码 {% when 'packageB' %} <!-- 这里放packageB对应的代码 --> {% endcase %}
方式2:使用or关键字
如果更习惯逻辑运算符的写法,也可以在when里用or连接多个条件:
{% case shipping_method.title %} {% when 'packageA' or 'packageC' %} 约5000行代码 {% when 'packageB' %} <!-- 这里放packageB对应的代码 --> {% endcase %}
小提示
- 别用
||!Liquid不识别这个符号作为逻辑或,会导致匹配失败或者语法错误。 - 两种写法效果完全一致,选你觉得更易读的就行。
- 如果
packageB暂时没有对应代码,你可以保留空的when子句(方便后续补充),也可以直接省略它。
内容的提问来源于stack exchange,提问作者JeVic
相关产品推荐
相关产品推荐

