【问题标题】:CS-Cart Multi-Vendor - Vendor order notificationsCS-Cart 多供应商 - 供应商订单通知
【发布时间】:2023-03-23 19:45:01
【问题描述】:

当订单状态得到更新时,CS-Cart 会发送两封电子邮件。一封给客户fn.cart.php:6102,一封给供应商fn.cart.php:6123

目前要覆盖我从中复制模板的模板 design/backend/mail/templates/order/order_notification.tpldesign/backend/mail/templates/order/order_notification_subl.tpl,

我的主题 design/themes/mytheme/mail/templates/order/order_notification.tpldesign/themes/mytheme/mail/templates/order/order_notification_subl.tpl.

我的自定义模板仅在客户通知电子邮件中使用,但我也需要在供应商通知中使用它。有没有办法做到这一点?


我尝试深入挖掘,但一无所获。

似乎在发送供应商电子邮件时,他们将参数'A' 传递给Mailer::sendMail($params, 'A') 函数调用。

然后在fn_get_theme_path()函数(fn.common.php:108)中构建模板路径时,如果$areaA,则设计目录将设置为backend/文件夹而不是themes/

我是否忽略了某些东西,或者是我破解核心的唯一选择?

【问题讨论】:

    标签: php templates e-commerce cs-cart


    【解决方案1】:

    当区域为“A”或“V”(管理员,分别为“供应商”)时,CS-Cart 使用来自backend 的模板。 当区域为“C”(客户)时,它将使用您的主题,即。 mytheme 模板。

    两个主题都有一个 order_notification.tpl 和 order_notification_subj.tpl 模板的副本(如果我没记错的话,会略有不同)。 所以你有他们两个覆盖。

    您将无法从前端模板覆盖后端模板,除非您已准备好应对一些过于复杂的解决方法。

    最好从自定义插件中覆盖它们,并可能在 Mailer.php 挂钩中使用 send_mail_pre 覆盖模板路径。

    【讨论】:

    • 非常感谢!我会试试提到的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多