Magento - 交易电子邮件 - 变量

时间:2012-10-05 19:00:35

标签: magento variables invoice

以某种方式可以在creditmemo电子邮件中使用{{var invoice.increment_id}}吗?如果我这样做就行不通了......

<p><strong>Bestellnummer:</strong> {{var order.increment_id}}</p>
<p><strong>Datum:</strong> {{var creditmemo.created_at}}</p>
<p><strong>Rechnung:</strong> {{var invoice.increment_id}}</p>
<p>Liebe(r) {{htmlescape var=$order.getCustomerName()}},<br/><br/>  

不起作用。有人对我有暗示吗?谢谢!

EDIT
那是对的吗? 编辑类Mage_Sales_Model_Order_Creditmemo并添加:

//Get Invocie from order Object 
        if ($order->hasInvoices()) {
            // "$_eachInvoice" is each of the Invoice object of the order "$order"
            foreach ($order->getInvoiceCollection() as $_eachInvoice) {
                $invoice = $_eachInvoice->getIncrementId();
            }

            //$invoice = $order->getInvoiceCollection();
        }

以及

$mailer->setTemplateParams(array(
                'order'      => $order,
                'creditmemo' => $this,
                'comment'    => $comment,
                'invoice'    => $invoice,
                'billing'    => $order->getBillingAddress()
            )
        );

然后在我的电子邮件模板中调用变量{{var invoice}}? 但它没有显示,我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

您应该在模块中重写Mage_Sales_Model_Order_Creditmemo模型,并将所需的逻辑添加到sendUpdateEmail()方法,以便在贷记凭证电子邮件模板中获取发票对象。

答案 1 :(得分:0)

见我的帖子。我做对了感谢Zyava 问题是,你必须将这个代码放在sendEpdate(一个方法)上面的sendUpdate(一个方法)中。

谢谢!