如何在存储为 "key:value" 的标记中搜索值



我正在合作的一家公司为我的每个产品添加了自定义标签。我遇到的问题是试图找到一种有意义的方法来处理这些数据。

产品。标签给了我这个

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的答案,我将使用casewhen代替,因为您需要定义的标签数量

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

相关内容

  • 没有找到相关文章