Cart Logic 聚焦购物车状态管理:商品的添加、移除、更新,跨页面与跨设备持久化,以及顾客登录后把游客购物车合并到账号。适用于页面跳转丢失购物车状态、登录后游客商品消失、需要实时价格与优惠更新,或搭建无头店铺需自定义购物车的场景。
各平台处理方式不同。Shopify 内置购物车自动持久化,游客用 cart_token cookie(默认 30 天),登录后自动合并;可在主题编辑器中配置购物车抽屉或页面、购物车备注与运费估算,用 Cart Transform Shopify Function 修改购物车项或打包商品,CLI 部署。WooCommerce 购物车基于会话,在设置中配置加购行为,在 Accounts & Privacy 启用 Persistent cart 以支持登录用户跨设备,并用 woocommerce_add_cart_item_data 等钩子扩展条目数据。BigCommerce 通过 Storefront Cart API 管理,在 Stencil 主题的 templates/components/cart/ 中自定义。无头店铺应使用平台 Storefront API,如 Shopify 的 cartCreate、cartLinesAdd、cartLinesUpdate,用 cartBuyerIdentityUpdate 关联账号;BigCommerce 用 /api/storefront/carts。
关键体验包括加购后弹出迷你购物车、显示低库存提示、保证游客购物车至少存活 30 天、展示免运费进度条。最佳实践是优先使用平台原生购物车,启用登录用户持久化,结账时再校验库存,突出显示小计与件数。
常见问题:WooCommerce 登录后购物车消失需启用 Persistent cart;浏览器重启后购物车清空需检查 cookie 与会话时长设置;重复加购未累加数量时,无头实现可用 cartLinesUpdate 递增既有行;价格变动会自动以结账时价格计算并提示;自定义加购代码会绕过库存校验,应使用官方机制。其他实现细节与价格信息暂未提供。