【问题标题】:Shopify Liquid if statementShopify Liquid if 语句
【发布时间】:2019-03-20 22:33:14
【问题描述】:

我使用 Shopify 中的 Order Printer 应用来打印我的订单。我已经编辑了模板以满足我的需要,但是我对 Liquid 代码很陌生。

根据订单的运输邮政编码,我需要模板返回 3 个标签中的 1 个 - Rural、Major 和 Outer。我有以下格式的邮政编码列表(例如,这是一小部分):

Rural

2648、2715、2717-2719、2731-2739、3221-3334、3342-3349、3351-3352、3357-3426、3444-3688、3691-3749、3812-3909、3921-3925、3 , 3979, 3984-3999


Major

1000-1935、2000-2079、2085-2107、2109-2156、2158、2160-2172、2174-2229、2232-2249、2557-2559、2564-2567、2740-2744、257-27 -2764、2766-2774、2776-2777、2890-2897


Outer

7020-7049、7054、7109-7150、7155-7171、7173-7247、7255-7257、7330-7799

我无法弄清楚如何使用if statement 来确定运输邮政编码是ruralmajor 还是outer 邮政编码,而无需输入介于 7330 和 7799 之间的每个邮政编码等等

谁能帮忙?

【问题讨论】:

  • 这似乎对我有用:{% if shipping_address.zip >="4000" and shipping_address.zip ="4029" and shipping_address.zip ="1000" and shipping_address.zip ="2900" and shipping_address.zip ="2264" and shipping_address.zip ="2311" and shipping_address.zip
  • 如果您能够解决问题,请务必将其添加为您问题的答案。这样,将来有类似问题的任何人都可以看到这个问题已经解决。 :)

标签: if-statement shopify liquid


【解决方案1】:

首先声明你的数组:

{% assign Rural= "2648, 2715, 2717-2719, 2731-2739, 3221-3334, ...." | split: ", " %}
{% assign Major= "1000-1935, 2000-2079, 2085-2107, 2109-2156,..." | split: ", " %}
{% assign Outer= "7020-7049, 7054, 7109-7150, 7155-7171,...." | split: ", " %}

然后声明一个你将用于标签的变量

{% assign relatedLabel = ""%}

实现 if 逻辑

{% if Rural contains Order.PosteCode %}
{% assign relatedLabel = "rural" %}
{% endif %}
{% if Major contains Order.PosteCode %}
{% assign relatedLabel = "major" %}
{% endif %}
{% if Outer contains Order.PosteCode %} 
{% assign relatedLabel = "outer" %}
{% endif %}

终于可以在需要的地方打印了

This Poste Code belongs to {{relatedLabel}} area.

【讨论】:

  • 这适用于数组中的所有条目,但列出的一些值是范围 - 邮政编码“2018”在 2000-2079 范围内,因此应该是主要集,但简单的数组查找不会找到它
猜你喜欢
  • 2019-06-02
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 2019-01-29
  • 1970-01-01
  • 2021-07-28
相关资源
最近更新 更多