簡體   English   中英

如何在Magento 1.7.2電子郵件功能中使用我自己的電子郵件模板?

[英]How can I use my own email template in Magento 1.7.2 email function?

大家好嗨:)

我正在使用PHP腳本,以便向客戶群發送包含新憑據的電子郵件。

我使用和發送電子郵件的命令如下:

$customer->sendNewAccountEmail();

這會向客戶發送電子郵件並使用名為“新帳戶”的模板

問題是我創建了一個名為Send password to Resellers模板 的新自定義 模板

那么如何運行這個命令$customer->sendNewAccountEmail(); 但是使用我的新模板?

如果您想要同時擁有“新訂單”和“轉銷商”模板 ,那么實現此目標的一種方法是:

創建一個擴展Mage_Customer_Model_Customer的新模塊

 class MagePal_ResellerCustomer_Model_Customer extends Mage_Customer_Model_Customer
      const XML_PATH_REGISTER_RESELLERS_EMAIL_TEMPLATE = 'customerreseller/create_account/email_template';

    public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')
    {
        $types = array(
            'registered'   => self::XML_PATH_REGISTER_RESELLERS_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());
        }

        $this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,
            array('customer' => $this, 'back_url' => $backUrl), $storeId);

        return $this;
    }

將系統配置添加到模塊,以便您可以選擇自定義電子郵件模板(請參閱自定義Magento系統配置

在system.xml中

<email_template>
    <label>Email Template</label>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    <sort_order>5</sort_order>
    <frontend_type>select</frontend_type>
    <source_model>adminhtml/system_config_source_email_template</source_model>
</email_template>

然后發送你的電子郵件做

if(customer group == reseller):
   $customer = Mage::getModel('resellercustomer/customer')->load($customer_id)
   $customer->sendNewAccountEmail();
else
   $customer = Mage::getModel('customer/customer')->load($customer_id)
   $customer->sendNewAccountEmail();

如果您只想使用新模板,請查看 @ Customizing Email Templates

管理菜單>系統>配置>客戶配置>創建新帳戶選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM