Shopify技术需求:无尺寸变体时隐藏Liquid模板中的尺寸标题
解决Shopify中无尺寸变体时隐藏尺寸标题的问题
我清楚你要实现的效果:当产品没有设置尺寸变体选项时,自动隐藏Liquid模板里的尺寸标题及对应选择区域。下面是具体的解决方案:
核心思路
借助Liquid的条件判断逻辑,先检查当前产品是否包含「尺寸」(或你后台实际设置的选项名称)这个变体选项,仅当该选项存在时,才渲染尺寸标题和选择框部分。
具体代码修改
假设你的模板里原本有这样的尺寸选项代码块:
<div class="product-info-col2"> <h4>Size</h4> <!-- 尺寸选择下拉框或其他交互控件 --> </div>
我们给它加上条件判断逻辑,修改后代码如下:
{% assign has_size_option = false %} {% for option in product.options %} {% if option.name == 'Size' %} <!-- 这里替换成你后台实际的选项名称,比如中文的"尺寸" --> {% assign has_size_option = true %} {% endif %} {% endfor %} {% if has_size_option %} <div class="product-info-col2"> <h4>Size</h4> <!-- 现在只有产品有尺寸变体时,这个标题才会显示 --> <!-- 保留你原本的尺寸选择控件代码 --> <select name="id" id="ProductSelect-{{ product.id }}"> {% for variant in product.variants %} <option value="{{ variant.id }}">{{ variant.title }}</option> {% endfor %} </select> </div> {% endif %}
简化版写法(可选)
如果你的选项名称完全匹配(大小写、语言一致),可以用更简洁的方式直接判断:
{% if product.options contains 'Size' %} <div class="product-info-col2"> <h4>Size</h4> <!-- 尺寸选择控件代码 --> </div> {% endif %}
注意事项
- 务必保证代码里的选项名称(比如
'Size')和你Shopify后台产品设置的选项名称完全一致,包括大小写和语言类型(比如后台是中文「尺寸」,就改成'尺寸')。 - 如果尺寸选择区域还有关联的其他元素(比如库存提示、规格说明),记得把它们也包裹在同一个
{% if %}代码块里,避免出现孤立的无效元素。
内容的提问来源于stack exchange,提问作者Liz
相关产品推荐
相关产品推荐

