Prestashop 1.6.1.13和TrustPilot SFA 2.0服务

时间:2017-06-22 13:53:53

标签: php prestashop-1.6

我按照帮助指南将trustpilot的SFA整合到prestashop中,他们的指南基于发送订单确认。 当发送订单确认时,trustpilot服务会收到一封密送邮件,并将电子邮件添加到发送队列以请求审核。 问题可能是:

1)已完成订单但付款失败>无论如何发送的邮件 2)订单已完成并已付款,但客户想要删除订单>电子邮件已发送

因此,解决方案是在达到订单状态时发送密件抄送电子邮件。 当后台运营商手动更改发货状态时,客户将收到发送的模板电子邮件。

我不是prestashop覆盖和编程方面的专家,所以我试着像这样覆盖mail.php类:

Dim rng As Range
Dim textboxValue As String, lastUsedRow As Long, i As Long
With ActiveSheet
    textboxValue = UserForm.TextBox1
    Set rng = .Range("textboxValue")
    For i = rng.Cells(1).Offset(rng.Cells.Count - 1).Row To rng.Cells(1).Row Step -1
        If .Cells(i, rng.Columns(1).Column) <> "" Then
            lastUsedRow = .Cells(i, rng.Columns(1).Column).Row
            MsgBox lastUsedRow
            .Cells(i, rng.Columns(1).Column).Select
            Exit Sub
        End If
    Next i
    If lastUsedRow = 0 Then
        MsgBox "textboxValue range is completely empty.", vbExclamation
    End If
End With

我不知道它是否正确,但在创造混乱之前我想要任何帮助:)

谢谢

1 个答案:

答案 0 :(得分:0)

我结束了这个工作解决方案。 我在这里发布代码,所以如果有人需要这种方式工作:

<?php
/*
 MODIFIED VERSION TO SUPPORT TRUSTPILOT SEND ON SHIPPED STATUS CHANGE
*/

class Mail extends MailCore
{

    public static function Send($id_lang, $template, $subject, $template_vars, $to,
        $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null,
        $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null, $bcc = null, $reply_to = null)
    {

        if($template == 'shipped') { $bcc = array('xxxx@invite.trustpilot.com'); }

        return parent::Send($id_lang, $template, $subject, $template_vars, $to,
            $to_name, $from, $from_name, $file_attachment, $mode_smtp,
            $template_path, $die, $id_shop, $bcc, $reply_to);

    }

}

现在我只有一个问题:shipping.html没有{mail}占位符。我如何覆盖AdminOrdersController.php让我允许在邮件模板中添加一个新的{mail}占位符?