购买特定产品时发送电子邮件(Prestashop)

时间:2016-06-23 07:50:01

标签: php email prestashop

我需要在购买特定产品时使用Prestashop发送电子邮件。

现在,Presta默认发送两封电子邮件,一封带有确认,另一封带有产品清单。

但在我的商店里,我有四种不同寻常的产品需要客户特别说明,我需要通过电子邮件发送。所有这些(四种)产品都属于同一类别。

我在互联网上发现的唯一一件事是因为垃圾邮件原因它可能很棘手 - 普雷斯塔不允许这样做。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

您需要创建自己的模块(互联网上有足够的资源) 在我看来,它只需挂钩orderStatusUpdate 然后在你的模块中有下面的功能(如果你想让钩子继续工作,你将无法选择):

public function hookActionOrderStatusUpdate($params)
{
    $cart = $params['cart'];
    if($params['newOrderStatus']->id == 2) // payment accepted
    {
        $prods = $cart->getProducts(true);
        foreach($prods as $prod)
        {
            if($prod['id_category_default'] == 123456) //your category ID
            {
                $mailParams = [
                    '{my_email_var}' => "my custom value/link whatever you need"
                ];
                Mail::Send(1 /*language ID*/, 'name_of_your_template', Mail::l('Email subject here'), $mailParams, recipient@email.com, null, null, null, null, null, dirname(__FILE__).'/../../mails/');
                //that last param is needed if you put your mail templates (both .html and .text) in a mails/language_iso/ folder
            }
        }
    }
}