[英]Put strings in arrays shopify liquid
在 shopify 中有带有元字段的产品,其中包含多个数字。 这些数字代表产品内鱼类的捕捞区域。 例如,对于产品 A,该值只是“27”,而对于产品 B,该值是“27/48”。 我的方法是创建一个数组并将值放入该数组中。 像这样:如果元字段包含 27,则将“大西洋”放入数组中。 如果元字段包含 48,则将“太平洋”放入数组中。 最后我会打印出数组。 这是一个好方法还是有更好的方法? 谢谢
我只是假设将 Metafield 中的“大西洋”等保存为数组不是您的选择。 所以这就是我将如何处理这个问题:
创建一个包含所有定义的全局元字段,如下所示:
{
"27": "Atlantic Ocean",
"48": "Pacific Ocean"
}
然后,在液体中:
{%- liquid
assign definitions = shop.metafields.namespace.key.value
assign parts = product.metafields.namespace_key.key.value | split: '/'
for part in parts
echo definitions[part]
unless forloop.index == parts.size
echo ', '
endunless
endfor
-%}
这将为产品 A 呈现:
Atlantic Ocean
对于产品 B:
Atlantic Ocean, Pacific Ocean
这样,当您想添加新类型的海洋时,您可以轻松更新定义 JSON,而无需更新液体源代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.