Bundle详情页能勾选选项,但修改数量后总价不变。先区分后端选项价格是否正确,还是浏览器没有重新计算。
定位与修复记录
1. 固定复现范围
在页面源代码中找到 bundleConfig,确认选项ID、selectionID、基础价格和canApplyMsrp等数据存在。若这里价格已错,先重建 catalog_product_price 并检查子商品价格。
2. 确认真实原因
bundleConfig正确时,在Console观察数量输入框是否触发change。自定义主题若删除 data-selector、改写name或把输入框复制成另一个节点,Magento_Bundle/js/price-bundle就找不到原字段。
3. 执行修复
恢复核心模板中的data-role和name结构;自定义JS应触发标准change事件,不要直接修改页面上的价格文本。确认priceBox只初始化一次,避免两个组件互相覆盖。
4. 恢复后处理
清理目标主题静态目录并按实际语言重新部署,随后清FPC。不要只在developer模式下验证,因为生产合并后的RequireJS路径可能不同。
bin/magento indexer:reindex catalog_product_price
find app/design app/code -path '*Magento_Bundle*' -type f
rg -n 'price-bundle|bundleConfig|data-selector' app/design app/code
bin/magento setup:static-content:deploy -f zh_CN en_US验收清单
- 依次测试单选、多选、可输入数量和默认数量;页面价、加入购物车后的item price以及订单金额必须一致。
- 固定价Bundle与动态价Bundle走的价格数据不同,排查时先确认商品Price Type。

