订单状态更新后,CS-Cart会发送两封电子邮件。一个是客户fn.cart.php:6102
,另一个是供应商fn.cart.php:6123
。
目前要覆盖我从中复制模板的模板
design/backend/mail/templates/order/order_notification.tpl
和
design/backend/mail/templates/order/order_notification_subl.tpl
,
到我的主题
design/themes/mytheme/mail/templates/order/order_notification.tpl
和
design/themes/mytheme/mail/templates/order/order_notification_subl.tpl
。
我的自定义模板仅用于客户端通知电子邮件,但我也需要在供应商通知上使用它。有没有办法实现这一目标?
我尝试深入挖掘,但没有在哪里。
似乎在发送供应商电子邮件时,他们将参数'A'
传递给Mailer::sendMail($params, 'A')
函数调用。
然后,当在fn_get_theme_path()
函数(fn.common.php:108
)中构建模板路径时,如果backend/
设计目录设置为themes/
文件夹而不是$area
{1}}是A
。
我是否忽略了某些东西,或者是我唯一能够破解核心的选择?
答案 0 :(得分:1)
当该区域为" A"或" V" (admin,分别为"供应商"),CS-Cart使用backend
中的模板。
当该地区是" C" (客户),它会使用你的主题,即。 mytheme
个模板。
这两个主题都有order_notification.tpl和order_notification_subj.tpl模板的副本(如果我没记错的话,略有不同)。 所以你可以覆盖它们。
您将无法覆盖前端模板中的后端模板,除非您已为某些复杂的变通方法做好准备。
最好从自定义加载项中覆盖它们,也可以在Mailer.php挂钩中使用send_mail_pre
来覆盖模板路径。