我在电子邮件确认中需要不含运费的税。我进行了更改:
在电子邮件翻译order_conf中,我放入了{total_shipping_tax_excl}
我在/override/classes/order/OrderHistory.php中进行了覆盖
class OrderHistory extends OrderHistoryCore
{
public function sendEmail($order, $template_vars = false)
{
$data = array(
'{total_shipping_tax_excl}' => Tools::displayPrice($order->total_shipping_tax_excl, $this->context->currency, false)
);
//die (print_r($data,true));
if ($template_vars) {
$data = array_merge($data, $template_vars);
}
return parent::sendEmail($order, $data);
}
}
覆盖有效-如果我死了(print_r($ data,true));我可以看到在total_shipping_tax_excl键中有适当的值。电子邮件翻译有效-我看到了新字符串。但是,发送电子邮件时,我只有{total_shipping_tax_excl}字符串。
我想念什么?
答案 0 :(得分:1)
我也在编辑用于订单确认的电子邮件模板。您需要编辑PaymentModule.php使其起作用。您也可以直接从此文件设置电子邮件主题。
围绕756行
// Send an e-mail to customer (one order = one email)
if ($id_order_state != Configuration::get('PS_OS_ERROR') && $id_order_state != Configuration::get('PS_OS_CANCELED') && $this->context->customer->id) {
$invoice = new Address((int)$order->id_address_invoice);
$delivery = new Address((int)$order->id_address_delivery);
答案 1 :(得分:0)
恩图是正确的。第一个问题是确认电子邮件是在class / PaymentModule.php中生成的,而不是在/classes/order/OrderHistory.php中生成的。 解决方案是覆盖原始文件或等待。我提出了拉取请求:https://github.com/PrestaShop/PrestaShop/issues/11396并接受了chage,因此{total_shipping_tax_excl}和{total_shipping_tax_incl}将位于1.7.6