西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

用Magento的Email模板机制发邮件

时间:2016-10-27 10:48来源:未知 作者:好模板 点击:
Magento的Mage::getModel(core/email_template)模型可用来发信。 步骤I. 在你的模块(其实任意Module都可以)的etc/config.xml的根标签config下添加代码 Xml代码 收藏代码 default {限定名1} {限定名n} enabl
Magento的Mage::getModel('core/email_template')模型可用来发信。 
 
步骤I. 
在你的模块(其实任意Module都可以)的etc/config.xml的根标签<config>下添加代码 
Xml代码  收藏代码
<default>  
    <{限定名1}>  
        <{限定名n}>  
            <enabled>1</enabled>  
            <template>{email模板标签名}</template>  
        </{限定名n}>  
    </限定名>  
</default>  
<global>  
    <template>  
      <email>  
        <{{email模板标签名} translate="label" module="{模块名}">  
          <label>{任何标识性名}</label>  
          <file>{email模板html文件名}</file>  
          <type>html</type>  
         </{email模板标签名>  
      </email>  
    </template>  
</global>  
 
a).在global/template/email下定义新的email模板标签,模板文件名。模板文件名类似CMS页,要放到app/locale/{当前语种}/template/email目录或子目录下 
b). default/下限定名1...限定名N围绕的template引用global下定义的email模板 
限定名1...限定名N表示标签可以嵌套一层或多层用于与其他default下标签区分。 
一个例如下: 
Xml代码  收藏代码
<default>  
    <customer_email>  
        <services_request>  
            <enabled>1</enabled>  
            <template>customer_email_service_template</template>  
        </services_request>  
    </customer_email>  
</default>  
<global>  
    <template>  
        <email>  
            <customer_email_service_template translate="label" module="sales">  
               <label>Customer Services Request</label>  
               <file>customer_services.html</file>  
               <type>html</type>  
            </customer_email_service_template>  
        </email>  
    </template>  
</global>  
 
步骤II. 
创建customer_services.html放到app/locale/{当前语种}/template/email目录下(内容省略). 
 
步骤III. 代码调用例 
 
/* @var $translate Mage_Core_Model_Translate */  
$translate = Mage::getSingleton('core/translate');  
$translate->setTranslateInline(false);  
  
$storeId  = Mage::app()->getStore()->getId();  
$template = Mage::getStoreConfig('customer_email/services_request/template', $storeId);  
$recipient = array(  
    'name'  => 'Baby',  
    'email' => 'elon.guo@gmail.com'  
);  
$sender  = array(  
    'name'  => 'Koda Guo',  
    'email' => 'koda.guo@gmail.com'  
);  
  
$mailTemplate = Mage::getModel('core/email_template');  
$mailTemplate->setDesignConfig(array('area'=>'frontend', 'store'=>$storeId))  
    ->sendTransactional(  
        $template,  
        $sender,  
        $recipient['email'],  
        $recipient['name'],  
        array( // parameters to email  
            'param1'=> 'abc',  
            'param2'=> 'def',  
            'param3'=> 'ghi'  
        )  
    );  
       $translate->setTranslateInline(true);  
 
 
使用Magento模板机制,一旦定义了新的模板,就可以在后台System->Transactional Mail处定制该模板,从而方便维护.
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容