我需要在购买特定产品时使用Prestashop发送电子邮件。
现在,Presta默认发送两封电子邮件,一封带有确认,另一封带有产品清单。
但在我的商店里,我有四种不同寻常的产品需要客户特别说明,我需要通过电子邮件发送。所有这些(四种)产品都属于同一类别。
我在互联网上发现的唯一一件事是因为垃圾邮件原因它可能很棘手 - 普雷斯塔不允许这样做。
有人可以帮我吗?
答案 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
}
}
}
}