Shopify:当没有定义尺寸时,在液体模板中隐藏尺寸变量标题

时间:2018-04-04 19:44:27

标签: shopify liquid shopify-template

我正在使用Shopify,如果没有为产品定义尺寸,我想在模板中隐藏尺寸变体标题。

以下是我商店中呈现代码的屏幕截图。

enter image description here

以下是我的流动模板的代码段:

<div class="options clear">
{% if product.available %}
<div class="product-info-row">
  <div class="product-info-col1">
    <h4>Quantity</h4>
    <div class="quantity">
      <div class="quantity-display">1</div>
      <input name="quantity" type="hidden" value="1" data-max="{{product.selected_or_first_available_variant.inventory_quantity}}">
      <div class="quantity-decrement">-</div>
      <div class="quantity-increment">+</div>
    </div>
  </div>
  {% if product.variants.size >= 1 %}
  <div class="product-info-col2">
    <h4>Size</h4>
    <div class="variants">
      {% unless product.selected_or_first_available_variant.title contains "Default" %}
      <ul class="variant-list">
        {% for variant in product.variants %}
        {% if variant.available %}
        <li class="{% if variant == product.selected_or_first_available_variant %} selected{% endif %}" data-value="{{ variant.id }}" data-quantity="{{ variant.inventory_quantity }}"> {{ variant.title }}</li>
        {% endif %}
        {% endfor %}
      </ul>
      {% endunless %}
    </div>
  </div>
  {% endif %}
  <input type="hidden" class="variant-id" name="id" value="{{product.selected_or_first_available_variant.id}}">
</div>
{% endif %}

我有点困惑,因为HTML的大小变体已经存在运算符逻辑:{% if product.variants.size >= 1 %}。此产品没有定义大小的变体(0小于1),因此,为什么这个大小变体的HTML块仍然显示?任何帮助将非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

Shopify中的每个产品至少包含一个变体。你的条件{% if product.variants.size >= 1 %}是真的。但{% unless product.selected_or_first_available_variant.title contains "Default" %}是假的。

为了更好地理解产品对象,我建议您将{{ product | json }}添加到您的液体中,以将所有对象呈现为序列化JSON。它将使您更好地了解产品对象及其领域