B2B 登录后价格不刷新要手动刷新才变
现象#
客户登录后被弹回商品页,价格还是零售价;按 Ctrl+F5 硬刷新一次才变成批发价,购物车角标金额也跟着变。
原因#
- 页面被全页缓存或主题 JS 缓存,登录后没有重新走服务端渲染
- 主题把价格写进 localStorage,登录事件没有清理这份缓存
- 快速查看与推荐模块用固定 URL 取 HTML,没带登录会话
- 切换地点后只更新了页面文案,没有重新取价
处理步骤#
- 先硬刷新一次,确认服务端渲染出来的价格本身是对的
- 在
price.liquid输出前加{% if customer.b2b? %}分支,避免缓存混用 - 登录与切换地点的回调里清掉价格缓存,再请求
/products/handle.js - 用 Section Rendering API 重渲染价格区块时带上
section_id - 排查是否有应用脚本在
DOMContentLoaded后覆盖了服务端值
验收标准#
登录跳回商品页无需刷新即显示目录价,切换地点后价格与购物车金额同步变化。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。