magento - 在订单确认电子邮件中使用客户的名字

标签 magento magento-1.7

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

例如:

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

在电子邮件中呈现如下:

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

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

谢谢

最佳答案

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

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

{{var model.method()}}

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

{{var order.getCustomerFirstname()}}

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

关于magento - 在订单确认电子邮件中使用客户的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16673011/

相关文章:

database - SQLSTATE[28000] [1045] 拒绝用户 'xx' @'example.com' 的访问(使用密码 : YES)

mysql - magento 注册用户详细信息存储在哪里

php - Magento数组到字符串的转换错误

php - magento ajax 不工作

javascript - Magento : Moving content to the review tab on the product page

magento - magento退款时如何更改订单状态?

Magento 异常错误:无效的方法 Mage_Catalog_Block_Product_View_Type_Simple::displayProductStockStatus()

javascript - magento订单状态自动更新触发器或事件

magento - 如何自定义 magento View

magento-1.7 - 玛根托 : Remove "powered by Turnkey Linux" from footer