Shopify Liquid如果声明

时间:2018-10-16 11:40:43

标签: if-statement shopify liquid

我使用Shopify中的订单打印机应用程序打印我的订单。我已经根据需要编辑了模板,但是我对Liquid代码不熟悉。

基于订单的运输邮政编码,我需要模板来返回3个标签中的1个-农村,主要和外部。我有以下格式的邮政编码列表(例如,这只是一小部分):

Rural

  

2648、2715、2717-2719、2731-2739、3221-3334、3342-3349、3351-3352、3357-3426、3444-3688、3691-3749、3812-3909、3921-3925、3945-3974 ,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、2747-2751、2759 -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等之间的所有邮政编码。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

首先声明您的数组:

Route::get('test', function(){
    sleep(10);
    return 'Test!';
});

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

{% 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: ", " %}

实施if逻辑

{% assign relatedLabel = ""%}

最后,您可以在需要的地方打印

{% 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 %}