在订单确认电子邮件中使用客户名

时间:2013-05-21 14:50:48

标签: magento magento-1.7

我看过很多文章(大多是3 - 5年),详细介绍了将客户的名字输入订单确认电子邮件的各种方法,但我得到的是空白或未解析的PHP。

例如:

<?php echo $this->__('Hello, %s', Mage::getSingleton('customer/session')->getCustomer()->getFirstname()); ?>

在这样的电子邮件中呈现:

  

__('Hello,%s',Mage :: getSingleton('customer / session') - &gt; getCustomer() - &gt; getFirstname()); ?&GT;

有人能指出我正确的方向吗?这是在Community Edition 1.7上。

由于

1 个答案:

答案 0 :(得分:6)

[已编辑]您无法直接在电子邮件模板中使用PHP代码。如果要将动态数据插入电子邮件模板,您有两种可能:

a)在每个交易电子邮件中,您可以访问模型的方法,该模型负责交易电子邮件,它是:对于处理订单的邮件,这是订单模型,用于处理新闻简报的邮件,这个是时事通讯模型等等。您可以使用以下语法访问方法:

{{var model.method()}}

因此,在您的情况下,要在订单确认电子邮件中访问客户的名字,您需要在订单模型中查找适合的方法,即getCustomerFirstname()。 然后你可以按照给定的语法调用它:

{{var order.getCustomerFirstname()}}

b)您可以通过创建自定义的phtml模板将动态数据包含到您的电子邮件模板中,并通过{{block}}指令将其包含在您的电子邮件模板中(正如下面评论中的benmarks所指出的)< / p>