红宝石等于液体吗?

时间:2019-12-08 08:09:25

标签: liquid

我要在product.variants标题==“ size”或“ Size”上显示if的特殊文本

我尝试了这个: 更新-这是正确的方法,但仍不会发生相同的结果

{% for option in product.options %}
    {%- if option == "size" or "Size" -%}
         <p id="green-hover">Review size before adding to cart.</p>
    {% break %}
    {%- endif -%}
{% endfor %}

{% for option in product.options %}
    {%- if option contains "size" or "Size" -%}
         <p id="green-hover">Review size before adding to cart.</p>
    {% break %}
    {%- endif -%}
{% endfor %}

在红宝石中,我会这样做:

@product.options.any? { |option| option== "size" || "Size" }

至少这样的事情,未经测试-不要解雇我。

该怎么办才能让我检查product.variants标题是否等于某个字符串或值?

2 个答案:

答案 0 :(得分:0)

这似乎可行:

{% assign option_titles = product.options | join: ' ' %}
   {% if option_titles contains 'Size' %}
   <p id="green-hover">Review size before adding to cart.</p>
{% endif %}

答案 1 :(得分:0)

?

您说对了,#any?会很有用,但是Liquid没有这种功能。有点麻烦,因为您想同时寻找“大小”和“大小”,但这应该可行:

{%- for option in product.options %}
  {%- if option contains "size" or option contains "Size" %}
    <p id="green-hover">Review size before adding to cart.</p>
  {% break %}
  {%- endif %}
{%- endfor %}

如果条件中有andor,则需要重复整个条件两次。因此,if option contains "size" or option contains "Size"而不是if option contains "size" or "Size"