我看过很多文章(大多是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上。
由于
答案 0 :(得分:6)
[已编辑]您无法直接在电子邮件模板中使用PHP代码。如果要将动态数据插入电子邮件模板,您有两种可能:
a)在每个交易电子邮件中,您可以访问模型的方法,该模型负责交易电子邮件,它是:对于处理订单的邮件,这是订单模型,用于处理新闻简报的邮件,这个是时事通讯模型等等。您可以使用以下语法访问方法:
{{var model.method()}}
因此,在您的情况下,要在订单确认电子邮件中访问客户的名字,您需要在订单模型中查找适合的方法,即getCustomerFirstname()
。
然后你可以按照给定的语法调用它:
{{var order.getCustomerFirstname()}}
b)您可以通过创建自定义的phtml模板将动态数据包含到您的电子邮件模板中,并通过{{block}}指令将其包含在您的电子邮件模板中(正如下面评论中的benmarks所指出的)< / p>