Magento 2.2.1多商店视图自定义选项导入失效问题求助
嘿,我在处理Magento多商店视图自定义选项的问题上踩过不少坑,你的情况我太熟悉了——本质是Magento默认会让子视图继承默认视图的自定义选项值,导入操作的优先级没搞对才导致覆盖。给你两个可行的解决办法:
解决Magento多商店视图自定义选项导入问题的正确步骤
方法一:手动断开继承后分步导入(适合单产品场景)
这是最直接的操作方式,核心是先让目标视图的自定义选项脱离默认视图的控制:
- 先打开产品ID191的编辑页面,切换到法语商店视图
- 找到「自定义选项」标签页,你会看到每个选项旁边都有「使用默认值」的勾选框,把这些勾选框全部取消掉(这一步是关键,告诉Magento这个视图的自定义选项要独立存储,不再继承默认视图的值)
- 切回默认商店视图,点击「自定义选项」里的「导入」按钮,选择产品ID192的自定义选项完成导入,然后保存产品
- 再次切换到法语商店视图,此时导入的自定义选项已经保留,你可以直接修改法语翻译值;如果产品192的法语翻译已经做好,也可以在法语视图下再次导入192的自定义选项,这次因为已经断开继承,导入的内容会单独保存在法语视图里,不会被默认值覆盖
方法二:用批量导入导出工具(适合多产品/多视图场景)
如果店铺里有大量这类需求,手动切换视图太繁琐,可以用Magento自带的批量功能:
- 先导出产品ID192的完整数据,导出时要选择「所有商店视图」,这样CSV里会包含各视图对应的自定义选项翻译值
- 把192的
custom_options列内容复制到产品ID191对应的行中,注意要匹配好对应的商店视图列 - 导入修改后的CSV文件,Magento会自动为不同视图分配对应的自定义选项值
额外注意事项
- 导入完成后,一定要在每个商店视图下检查自定义选项的值,确认没有被意外覆盖
- 如果是Magento 2版本,导入后记得清理缓存:执行命令
bin/magento cache:clean,避免视图切换时显示异常
内容的提问来源于stack exchange,提问作者Chris




