我正在使用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块仍然显示?任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
Shopify中的每个产品至少包含一个变体。你的条件{% if product.variants.size >= 1 %}
是真的。但{% unless product.selected_or_first_available_variant.title contains "Default" %}
是假的。
为了更好地理解产品对象,我建议您将{{ product | json }}
添加到您的液体中,以将所有对象呈现为序列化JSON。它将使您更好地了解产品对象及其领域