Mou*_*inX 2 parsing tokenize liquid shopify
我在Shopify元字段中具有以下字符串(“ my_str”):
a:3,b:1,c:2,d:2,e:2,f:2
Run Code Online (Sandbox Code Playgroud)
键是产品型号ID(缩写为a,b,c ...),数字是数量。
我需要将其解析为key:value对,以便可以执行以下操作:
{% assign my_str = collection.metafields.local.my_metafield %}
{% assign my_map = my_str | parse ???? %}
{% for product in collection.products %}
{% assign temp_qty = 1 %}
{% for pair in my_map %}
{% if pair[0] == product.variants.first.id %}
{% assign temp_qty = pair[1] %}
{% endif %}
{% endfor %}
<input type="hidden" id="abc-{{ forloop.index0 }}" value=temp_qty />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我绝对不知道如何解析my_str。我也乐意接受有关最佳总体方法的建议。
在创建数组时,Liquid非常有限。常用的方法是使用split字符串过滤器。
就您而言,它看起来像这样:
{% assign my_str = 'a:3,b:1,c:2,d:2,e:2,f:2' %}
{% assign my_arr = my_str | split: ',' %}
{% for pair_str in my_arr %}
{% assign pair_arr = pair_str | split: ':' %}
ID: {{ pair_arr[0] }} Qty: {{ pair_arr[1] }} <br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这篇博客文章也是关于Liquid数组主题的有趣读物:Shopify的Liquid中的高级数组
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |