Shopify产品变体价格显示异常求助:选中变体价格未单独展示
解决Shopify变体按钮显示所有价格的问题
嘿,我一眼就瞅出你代码里的问题了——你在按钮的价格区域用了{% for variant in product.variants %}循环遍历所有变体,这可不就把三个变体的价格全堆在按钮上了嘛!
你要的是当前选中变体的价格,直接调用current_variant对象的价格属性就行,根本不用循环所有变体。我帮你把代码改好了,顺便补全了你没写完的else分支(库存不可用时的按钮状态),逻辑更完整:
{% if current_variant.available %} <button type="submit" name="add" class="border--none"> <span class="display--block padding--1 palette--background-color--green palette--color--white text-transform--uppercase letter-spacing--2px font-size--15px palette--color--white"> add to bag | <strong>{{ current_variant.price | money_without_trailing_zeros }}</strong> </span> </button> {% else %} <button type="button" disabled class="border--none"> <span class="display--block padding--1 palette--background-color--gray palette--color--white text-transform--uppercase letter-spacing--2px font-size--15px"> Out of stock </span> </button> {% endif %}
补充说明:
- 替换掉循环后,按钮只会显示用户当前选中的那个ML尺寸变体的价格,完全符合你的需求。
- 如果切换变体时价格没跟着更新,那你得检查下主题的JS代码,确保变体切换事件能正确更新
current_variant的值,这样Liquid才能拿到最新的选中变体数据。
内容的提问来源于stack exchange,提问作者Glen Wheeler
相关产品推荐
相关产品推荐

