我正在合作的一家公司为我的每个产品添加了自定义标签。我遇到的问题是试图找到一种有意义的方法来处理这些数据。
产品。标签给了我这个
value1:abc
value2:def
value3:ghi
value4:jkl
我的问题是这些标签中的每一个都是一个完整的字符串。
我需要想个办法说——如果value1 == "something"做"this"结束——
我已经试过了,看看我是否能在产品上有所作为。JSON,但您可以想象,这也没有真正的帮助。我已经查看了与产品API的工作以及如何实现我想要的-但似乎可能有更简单的方法来实现这一点。
谁能提供一些见解?
最终结果是我需要在我的产品页面上显示特定的副本,这取决于这些标签的值(在:之后)。
So:
{% for tag in product.tags %}
{% assign tag_array = tag | split:':' %}
{% if tag_array.last == 'myvalue' %}
Do something
{% else %}
{% continue %}
{% endif %}
{% endfor %}
说明:首先循环遍历标签以获取标签字符串值。然后分割标签以获得数组,然后检索值并在条件语句中使用它。
类似于@Alice Girard的答案,我将使用case
和when
代替,因为您需要定义的标签数量
{% for tag in product.tags %}
{% assign tag_array = tag | split: ":" %}
{% case tag_array.first %}
{% when 'value1' %}
do something
{% when 'value2' %}
do something
{% else %}
default error message
{% endcase %}
{% case tag_array.last %}
{% when 'abc' %}
do something
{% when 'def' %}
do something
{% else %}
default error message
{% endcase %}
{% endfor %}