Shopify 主题与 Liquid

Shopify 商品变体超过 100 个时前台只显示一部分

现象#

后台商品有 150 个变体,前台变体选择器只出现前 100 个,剩下的客户选不到,加购也无对应 SKU。

原因#

  • 主题用了 product.variants 直接遍历,某些旧主题对输出长度做了截断
  • 变体选择器 JS 按固定数量渲染,超过后不再生成按钮
  • 用了 paginate product.variants by 100 但没做翻页
  • 商品同时开启了「组合商品」或 B2B 目录,实际返回的是子集

处理步骤#

  1. 在模板里输出 {{ product.variants.size }} 确认 Liquid 层拿到的数量
  2. 去掉任何 limit / paginate,直接 {% for v in product.variants %}
  3. 变体选择器改成按选项值动态生成,而不是一次性渲染全部按钮:JS 从 product.variants JSON 里读取
  4. 变体确实过多时改用「按选项筛选 + 变体表格」,减少首屏 DOM 数量
  5. 后台确认商品未被拆分成多个商品,Shopify 单商品变体上限为 2048,超过需要拆分

验收标准#

变体选择器显示的数量与 product.variants.size 一致,任意组合都能正确加购并带出对应 SKU。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。