You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento2.3.7切换用户后购物车additional_options字段丢失修复

问题:切换账号后购物车商品规格显示不完整(additional_options字段丢失)

问题场景与症状

  • 操作流程:打开购物车添加商品后退出账号(保留购物车),在同一浏览器切换至另一个Magento账号
  • 异常表现:quote_item_options表中的additional_options字段丢失,导致商品的规格信息(如颜色、尺寸、自定义参数等)无法完整显示

解决方案:修改Magento\Checkout\Model\Session类

问题根源在于切换账号合并购物车时,核心代码未处理additional_options字段的复制逻辑,需调整该类中购物车合并/加载的相关方法,确保字段被正确保留。

具体修改步骤

  1. 定位核心文件:vendor/magento/module-checkout/Model/Session.php
  2. 找到处理购物车item复制的方法(通常是_mergeQuotes或loadCustomerQuote中的item循环逻辑)
  3. 在复制item属性的代码块中,添加additional_options字段的复制逻辑:
// 确保additional_options字段被复制到新购物车item
if ($originalItem->getOptionByCode('additional_options')) {
    $newItem->addOption([
        'code' => 'additional_options',
        'value' => $originalItem->getOptionByCode('additional_options')->getValue()
    ]);
}
  1. 保存文件后,执行缓存清理命令:
bin/magento cache:clean
bin/magento cache:flush

重要提示

直接修改核心文件存在升级被覆盖的风险,推荐通过自定义模块重写Magento\Checkout\Model\Session类来实现修改,避免影响后续Magento版本升级。

内容的提问来源于stack exchange,提问作者i like magento

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:50:16