我最近购买了PrestaShop 1.7.5的一个审查模块。
我想将客户的电话号码添加到模块发送的电子邮件中。但技术支持告诉我,定制不在模块支持的范围内,必须由我自己来做。
所以,我试着自己去做。
我在LGMailer.php中找到了模板变量代码:
$template_vars = array(
'{firstname}' => $order['firstname'],
'{lastname}' => $order['lastname'],
'{storename}' => Configuration::get('PS_SHOP_NAME'),
'{email}' => $order['email'],
'{id_order}' => $order['id_order'],
'{link}' => $link,
'{product_details}' => $products
);
return $template_vars;
由于我想添加客户电话,所以修改如下:
$template_vars = array(
'{firstname}' => $order['firstname'],
'{lastname}' => $order['lastname'],
'{storename}' => Configuration::get('PS_SHOP_NAME'),
'{email}' => $order['email'],
'{phone_mobile}' => $order['phone_mobile'], (Added this line)
'{id_order}' => $order['id_order'],
'{link}' => $link,
'{product_details}' => $products
);
return $template_vars;
}
但它似乎不起作用。
有人能告诉我我哪里做错了吗?附件是php文件。
发布于 2019-05-30 06:18:35
模块中的getTemplateVars()
方法在cron.php文件中调用,并使用LGMailer
类中的getOrders()
来检索将发送电子邮件的订单。
如果您仔细观察此方法,您将看到它没有选择mobile phone列,您需要添加它。
在LGMailer.php
中编辑getOrders()
方法
首先,添加缺少的列
$query->select('a.`phone_mobile`');
然后,根据传递地址添加一个语句
$query->leftJoin('address', 'a', 'o.`id_address_delivery` = a.`id_address`');
最终
不要忘记在opinion-request.html
中添加{phone_mobile}
(您忘记将其附加到您的问题中)。
我希望这能帮到你!
https://stackoverflow.com/questions/56367047
复制相似问题