在订单确认电子邮件的Magento发送到管理以HTML格式, 但我想将其更改为纯文本格式,因此如何从那里我可以改变这种格式只为管理员,客户应该得到的电子邮件以HTML格式,因为它是。如何将电子邮件格式从html更改为magento中的文本以供管理员使用?
任何人都可以请给我这个解决方案吗?
谢谢。
在订单确认电子邮件的Magento发送到管理以HTML格式, 但我想将其更改为纯文本格式,因此如何从那里我可以改变这种格式只为管理员,客户应该得到的电子邮件以HTML格式,因为它是。如何将电子邮件格式从html更改为magento中的文本以供管理员使用?
任何人都可以请给我这个解决方案吗?
谢谢。
首先创建自定义的电子邮件来自Transactions emails
的模板和文本类型设置为纯文本。记下该模板ID。并在以下文件中使用。
在\app\code\local\Mage\Sales\Model\Order.php
sendNewOrderEmail()
负荷手工模板和发送变量到和发送电子邮件。
你必须覆盖和扩展Mage_Core_Model_Email_Template
模型来实现这一目标,并从那里设置正确的头,你不能把这些分开的用户,并且ahve建立自己的逻辑为
请详细告诉我..我是新来的这一切..请:( – user1537552 2012-08-07 06:46:39
确切哪些文件和功能我需要改变? – user1537552 2012-08-07 06:48:45
你需要学习如何搜索:)打开这个文件,看看在哪里邮件对象get的发起 – 2012-08-07 06:50:23
对于未来的读者,为别人建议不要修改核心文件。您可以在配置中使用小型定制模块来实现此目的。
我已经安装了AheadWorks的博客模块,你可能没有,或者你可能需要他们的电子邮件格式覆盖其他模块。所以,相应地调整。
创建app/etc/modules/YourNameSpace_EmailFormat.xml
并添加到<depends>
,使你的配置最后加载:
<?xml version="1.0"?>
<config>
<modules>
<YourNameSpace_EmailFormat>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Contacts/>
<AW_Blog/>
</depends>
</YourNameSpace_EmailFormat>
</modules>
</config>
创建app/code/local/YourNameSpace/EmailFormat/etc/config.xml
,添加元素为所有要覆盖模板:
<?xml version="1.0"?>
<config>
<modules>
<YourNameSpace_EmailFormat>
<version>1</version>
</YourNameSpace_EmailFormat>
</modules>
<global>
<template>
<email>
<customer_create_account_email_template>
<type>text</type>
</customer_create_account_email_template>
</email>
</template>
</global>
</config>
就是这样。我需要相反的,所以我有<type>
设置为html
。这与Yireo's Email Override module非常吻合,因此您可以轻松地自定义您的模板。如果将纯文本电子邮件转换为HTML,请确保将模板标记(如{{var foo.bar}}
)更改为{{htmlescape var=$foo.bar}}
以防止恶意代码注入。
这就是它的工作原理 – user1537552 2013-05-08 12:02:25
@ user1537552,直到您必须更新magento并且无法确定您的系统为什么神秘失败。 – Walf 2016-02-26 00:10:03