Magento的Mage::getModel('core/email_template')模型可用来发信。
步骤I.
在你的模块(其实任意Module都可以)的etc/config.xml的根标签下添加代码
Xml代码 收藏代码
1
{email模板标签名}
{限定名n}>
限定名>
{任何标识性名}
{email模板html文件名}
html
{email模板标签名>
a).在global/template/email下定义新的email模板标签,模板文件名。模板文件名类似CMS页,要放到app/locale/{当前语种}/template/email目录或子目录下
b). default/下限定名1...限定名N围绕的template引用global下定义的email模板
限定名1...限定名N表示标签可以嵌套一层或多层用于与其他default下标签区分。
一个例如下:
Xml代码 收藏代码
1
customer_email_service_template
Customer Services Request
customer_services.html
html
步骤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处定制该模板,从而方便维护.
(责任编辑:最模板)