如何在交易电子邮件 Magento 1.8 上打印 GranTotal

How to print GranTotal on Transactional email Magento 1.8

我正在尝试在客户下新订单时在电子邮件中打印 GranTotal,现在我已经在系统 → 交易电子邮件中使用了这些变量:

(一)

{{var Total}} 

但不显示总数

(b)

{{var order.getGrandTotal()}} 

但我收到的回复带有 4 位小数,例如:1900,0000 而且我们不使用小数,所以回复让我的客户感到困惑。

如果能得到完整的答复,我将不胜感激...谢谢!

您需要修改模板参数以格式化为两位小数。

例如 在您的代码库中搜索:

$mailer->setTemplateParams(

当您找到要修改的跨国电子邮件时(在这种情况下,您似乎想要编辑新的订单电子邮件,所以很可能在这个文件中:

app\code\core\Mage\Sales\Model\Order.php 

将文件复制到:

app\code\local\Mage\Sales\Model\Order.php 

然后编辑以下代码:

发件人:

    $mailer->setTemplateParams(array(
        'order'        => $this,
        'billing'      => $this->getBillingAddress(),
        'payment_html' => $paymentBlockHtml
    ));

收件人:

$mailer->setTemplateParams(array(
    'formatted_total' => sprintf('%.2F', $this->getData( 'grand_total' ) ),
    'order'        => $this,
    'billing'      => $this->getBillingAddress(),
    'payment_html' => $paymentBlockHtml
));

要获取千位分隔符,请使用:

    'formatted_total' => number_format( $this->getData( 'grand_total' ), 2, '.', ',' ),

然后编辑电子邮件模板:

app/locale/en_US/template/email/sales/order_new.html

在您希望它出现的地方输出新变量。

var formatted_total