Shopify:在未定义尺寸时隐藏液体模板中的尺寸变体标题

Shopify: Hide size variant heading in liquid template when there are no sizes defined

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

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

这是我的液体模板中的代码片段:

<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 块仍然显示?任何帮助将非常感激。谢谢!

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

为了更好地理解产品对象,我建议您将 {{ product | json }} 添加到液体中以将所有对象渲染为序列化 JSON。它会让你更好地了解产品对象及其字段