OpenCart 3.0.2.0修改订单状态更新通知邮件不生效如何解决?
问题核心原因
你的修改全部无效的最主要原因是:OpenCart 3.0.2.0 后台手动更新订单状态触发的客户通知邮件,走的是admin后台端的代码逻辑,你修改的全是catalog前台端的文件,二者完全不互通。
你需要修改的正确文件路径
修改以下admin端对应文件即可生效:
- 控制器逻辑文件(一般不需要改,仅确认发信逻辑用):
admin/controller/sale/order.php - 邮件样式模板文件:
admin/view/template/mail/order_edit.twig - 邮件文本语言包文件:
admin/language/[你的语言包目录]/mail/order_edit.php
其他可能导致修改不生效的排查项
如果修改完上述admin端文件还是不生效,按以下顺序排查:
- 确认你关闭了后台的模板缓存,路径为 后台-系统-设置-编辑商店-高级-关闭缓存
- 手动删除
storage/cache目录下所有文件,确认storage目录权限设置为755可写 - 检查是否安装了第三方订单管理、邮件通知类扩展,这类扩展通常会重写原生邮件发送逻辑,需要修改扩展对应的模板文件或扩展内置配置
- 检查是否有多站点配置,确认修改的是对应站点的激活主题模板
为什么删除catalog下文件后邮件仍能正常发送
后台触发的订单状态通知邮件的所有生成逻辑、模板、语言包都存储在admin端路径下,完全不依赖catalog端的相关文件,所以你删除catalog下的对应文件不会对邮件发送产生任何影响。
内容的提问来源于stack exchange,提问作者guru
相关产品推荐
相关产品推荐

