我最近购买了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文件。
答案 0 :(得分:0)
模块中的getTemplateVars()
方法在cron.php文件中被调用,并且正在使用getOrders()
类中的LGMailer
来检索将为其发送电子邮件的订单。
如果仔细查看此方法,您会发现它没有选择“手机”列,您需要添加它。
在getOrders()
中编辑LGMailer.php
方法:
首先,添加缺少的列
$query->select('a.`phone_mobile`');
然后,根据收货地址添加一个JOIN语句
$query->leftJoin('address', 'a', 'o.`id_address_delivery` = a.`id_address`');
最后
不要忘记在{phone_mobile}
内添加opinion-request.html
(您忘记附加到问题上了)。
我希望这会有所帮助!