Magento新帐户电子邮件模板定制

时间:2014-01-21 05:30:18

标签: php magento email

我希望客户电子邮件根据我的要求在“新帐户”电子邮件模板中加入第一部分。例如:亲爱的。例如abc.xyz@something.com,然后显示'亲爱的abc.xyz'

enter image description here

我在app / local / en_US / template / email / account_new.html文件中找到了新的帐户模板。

<h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;"">Dear {{htmlescape var=$customer.name}},</h1>

在这里,我已将{{htmlescape var = $ customer.name}}更改为{{htmlescape var = $ customer.email}}但我只希望电子邮件的第一部分为“亲爱的”作为欢迎信息。

如何在此模板中拆分电子邮件。因为这不是一个phtml文件,我需要更改以获取电子邮件的第一部分。

提前致谢。

3 个答案:

答案 0 :(得分:1)

经过大量研究后,我得到了一个可以以编程方式解决的解决方案。

修改App / code / core / Mage / Customer / Model / Customer.php中的函数sendNewAccountEmail。

public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')
    {
        $types = array(
            'registered'   => self::XML_PATH_REGISTER_EMAIL_TEMPLATE, // welcome email, when confirmation is disabled
            'confirmed'    => self::XML_PATH_CONFIRMED_EMAIL_TEMPLATE, // welcome email, when confirmation is enabled
            'confirmation' => self::XML_PATH_CONFIRM_EMAIL_TEMPLATE, // email with confirmation link
        );
        if (!isset($types[$type])) {
            Mage::throwException(Mage::helper('customer')->__('Wrong transactional account email type'));
        }

        if (!$storeId) {
            $storeId = $this->_getWebsiteStoreId($this->getSendemailStoreId());
        }
        /* Updated code */
        $email_parts = explode('@', $this->getEmail());
        $this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,
            array('customer' => $this, 'back_url' => $backUrl, 'email_firstpart' => $email_parts[0]), $storeId);
        /* End of updated code */

        return $this;
    }

我将email_firstpart发送到客户新帐户电子邮件模板。为了在该模板中使用它,我们必须使用以下内容。

<h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;"">Dear {{var email_firstpart}},</h1>

答案 1 :(得分:0)

经过一些研究,我们在添加自定义模板变量时可以解决这个问题。

但如何在magento中创建自定义模板变量以获取电子邮件的第一部分。

enter image description here

任何人都建议我。

答案 2 :(得分:0)

经过大量研究后,我得到了一个可以以编程方式解决的解决方案。

修改App / code / core / Mage / Customer / Model / Customer.php中的函数sendNewAccountEmail。

public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')
    {
        $types = array(
            'registered'   => self::XML_PATH_REGISTER_EMAIL_TEMPLATE, // welcome email, when confirmation is disabled
            'confirmed'    => self::XML_PATH_CONFIRMED_EMAIL_TEMPLATE, // welcome email, when confirmation is enabled
            'confirmation' => self::XML_PATH_CONFIRM_EMAIL_TEMPLATE, // email with confirmation link
        );
        if (!isset($types[$type])) {
            Mage::throwException(Mage::helper('customer')->__('Wrong transactional account email type'));
        }

        if (!$storeId) {
            $storeId = $this->_getWebsiteStoreId($this->getSendemailStoreId());
        }
        /* Updated code */
        $email_parts = explode('@', $this->getEmail());
        $this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,
            array('customer' => $this, 'back_url' => $backUrl, 'email_firstpart' => $email_parts[0]), $storeId);
        /* End of updated code */

        return $this;
    }

我将email_firstpart发送到客户新帐户电子邮件模板。为了在该模板中使用它,我们必须使用以下内容。

<h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;"">Dear {{var email_firstpart}},</h1>

==&GT;&GT;&GT;&GT;&GT;这不适合我,所以让我知道任何问题???