我如何找到“重新发送电子邮件"的负责代码?为了在 prestashop 中查看页面管理员? [英] How can i find responsible code for "resend email " in order view page admin in prestashop?

查看:57
本文介绍了我如何找到“重新发送电子邮件"的负责代码?为了在 prestashop 中查看页面管理员?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现基于动态订单电子邮件模板映射从自定义网格更改订单状态时的订单状态,我试图找到负责的控制器或代码用于重新发送电子邮件"按钮或发送订单电子邮件功能这是在管理视图订单页面.

i am trying to implement dynamic order email template mapping based on order status when order status is changed from a custom grid, i am trying to find the controller or code which is responsible for the "resend email" button or send order email functionality which is in admin view order page.

知道发送邮件的代码在哪里吗?看一下这张图片以便更好地理解

Any idea where would be that code for send mail ? Take a look at this picture for better understanding

推荐答案

这是这段代码:

} elseif (Tools::isSubmit('sendStateEmail') && Tools::getValue('sendStateEmail') > 0 && Tools::getValue('id_order') > 0) {
    if ($this->tabAccess['edit'] === '1') {
        $order_state = new OrderState((int)Tools::getValue('sendStateEmail'));

        if (!Validate::isLoadedObject($order_state)) {
            $this->errors[] = Tools::displayError('An error occurred while loading order status.');
        } else {
            $history = new OrderHistory((int)Tools::getValue('id_order_history'));

            $carrier = new Carrier($order->id_carrier, $order->id_lang);
            $templateVars = array();
            if ($order_state->id == Configuration::get('PS_OS_SHIPPING') && $order->shipping_number) {
                $templateVars = array('{followup}' => str_replace('@', $order->shipping_number, $carrier->url));
            }

            if ($history->sendEmail($order, $templateVars)) {
                Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=10&token='.$this->token);
            } else {
                $this->errors[] = Tools::displayError('An error occurred while sending the e-mail to the customer.');
            }
        }
    } else {
        $this->errors[] = Tools::displayError('You do not have permission to edit this.');
    }
}

它来自controllers/admin/AdminOrdersController.php

这篇关于我如何找到“重新发送电子邮件"的负责代码?为了在 prestashop 中查看页面管理员?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆