0

在 magento 中,订单确认电子邮件以 HTML 格式发送给管理员,但我想将其更改为纯文本格式,因此我如何以及从何处仅为管理员更改该格式,客户应该按原样收到 HTMl 格式的电子邮件。

谁能给我解决方案?

谢谢。

4

3 回答 3

2

对于未来的读者,不要像其他人建议的那样编辑核心文件。您可以使用一个很小的自定义模块单独在配置中实现这一点。

我安装了 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 的电子邮件覆盖模块非常吻合,因此您可以轻松自定义模板。如果将纯文本电子邮件转换为 HTML,请务必更改模板标签{{var foo.bar}}{{htmlescape var=$foo.bar}}以防止恶意代码注入。

于 2014-08-26T02:19:27.623 回答
0

你必须重写和扩展Mage_Core_Model_Email_Template模型来实现这一点并从那里设置正确的标题,你不能按用户分开它们,你必须为此建立自己的逻辑

于 2012-08-07T06:44:03.090 回答
0

首先创建自定义电子邮件模板Transactions emails并将文本类型设置为纯文本。记下该模板 ID。并在下面的文件中使用。

\app\code\local\Mage\Sales\Model\Order.php sendNewOrderEmail()手动加载模板时,将变量发送到该模板并发送电子邮件。

于 2013-05-08T12:01:50.917 回答