Prestashop 1.7 将新变量添加到电子邮件中 total_shipping_tax_excl
Prestashop 1.7 add new variables into email total_shipping_tax_excl
我需要在电子邮件确认中包含不含税的运费。我做了修改:
在邮件翻译中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} 字符串。
我错过了什么?
我也在编辑订单确认邮件模板。您需要编辑 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);
Enthu 是对的。第一个问题是确认电子邮件是在 classes/PaymentModule.php 中生成的,而不是在 /classes/order/OrderHistory.php 中生成的。
解决方案是覆盖原始文件或等待。我提出了拉取请求:https://github.com/PrestaShop/PrestaShop/issues/11396 并接受了更改,因此 {total_shipping_tax_excl} 和 {total_shipping_tax_incl} 将在 1.7.6
中
我需要在电子邮件确认中包含不含税的运费。我做了修改:
在邮件翻译中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} 字符串。
我错过了什么?
我也在编辑订单确认邮件模板。您需要编辑 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);
Enthu 是对的。第一个问题是确认电子邮件是在 classes/PaymentModule.php 中生成的,而不是在 /classes/order/OrderHistory.php 中生成的。 解决方案是覆盖原始文件或等待。我提出了拉取请求:https://github.com/PrestaShop/PrestaShop/issues/11396 并接受了更改,因此 {total_shipping_tax_excl} 和 {total_shipping_tax_incl} 将在 1.7.6
中