2

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

例如这个:

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

在电子邮件中呈现如下:

__('你好,%s', Mage::getSingleton('customer/session')->getCustomer()->getFirstname()); ?>

有人能指出我正确的方向吗?这是在社区版 1.7 上。

谢谢

4

1 回答 1

6

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

a) 在每封交易邮件中,您可以访问负责交易邮件的模型的方法,它是:对于处理订单的邮件,这是订单模型,对于处理时事通讯的邮件,这是时事通讯-模型等等。您可以使用以下语法访问这些方法:

{{var model.method()}}

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

{{var order.getCustomerFirstname()}}

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

于 2013-05-21T15:39:33.973 回答