Shopify 商品变体超过 100 个时前台只显示一部分
现象#
后台商品有 150 个变体,前台变体选择器只出现前 100 个,剩下的客户选不到,加购也无对应 SKU。
原因#
- 主题用了
product.variants直接遍历,某些旧主题对输出长度做了截断 - 变体选择器 JS 按固定数量渲染,超过后不再生成按钮
- 用了
paginate product.variants by 100但没做翻页 - 商品同时开启了「组合商品」或 B2B 目录,实际返回的是子集
处理步骤#
- 在模板里输出
{{ product.variants.size }}确认 Liquid 层拿到的数量 - 去掉任何
limit/paginate,直接{% for v in product.variants %} - 变体选择器改成按选项值动态生成,而不是一次性渲染全部按钮:JS 从
product.variantsJSON 里读取 - 变体确实过多时改用「按选项筛选 + 变体表格」,减少首屏 DOM 数量
- 后台确认商品未被拆分成多个商品,Shopify 单商品变体上限为 2048,超过需要拆分
验收标准#
变体选择器显示的数量与 product.variants.size 一致,任意组合都能正确加购并带出对应 SKU。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。