2013-02-21 2 views
3

Я работаю над некоторыми улучшениями внутри расширения PayPal для Magento, и я настроил модуль для отправки электронной почты клиенту после изменения статуса заказа. Я использовал ниже код для каждого различного статуса в PayPal контроллер заказа:Magento: статус отправки изменен с помощью настраиваемого шаблона электронной почты

$order->sendOrderUpdateEmail(); 
$order->setEmailSent(true); 

Я хотел бы послать пользовательские шаблоны электронной почты для каждого состояния, например, когда заказ будет отменен, клиент получает это сообщение: " Привет дорогой клиент, мы сообщим вам, что ваш заказ № 123456 был отменен по какой-то причине ... ». Как я могу использовать вышеперечисленные функции, чтобы Magento послал электронное письмо с вызовом настраиваемого шаблона, который я создал для этого конкретного случая? Является ли это возможным"?

Спасибо.

ответ

2

Пример отправки вашего пользовательского шаблона Email:

public function sendCustomMail() 
{ 
    $emailTemplate = Mage::getModel('core/email_template'); 
    $emailTemplate->loadDefault('custom_template_name'); 
    $emailTemplate->setTemplateSubject('my subject here'); 
    // Load from magento config.. 
    $email = Mage::getStoreConfig('trans_email/ident_general/email'); 
    $name = Mage::getStoreConfig('trans_email/ident_general/name'); 

    $emailTemplate->setSenderName($name); 
    $emailTemplate->setSenderEmail($email); 

    // Add some custom variables here to pass into the template. 
    $emailTemplateVariables['username'] = ' something'; 
    $emailTemplateVariables['store_url'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
    $emailTemplate->send('[email protected]', 'name...', $emailTemplateVariables); 
} 

Вам также необходимо добавить пользовательский шаблон для вашего модулей конфигурации

config.xml

<config> 
    ... 
    <global> 
     ... 
     <template> 
      <email> 
       <custom_template_name module="Namespace_Module"> 
        <label>Custom Template</label> 
        <file>mycustomtemplate.html</file> 
        <type>html</type> 
       </custom_template_name> 
      </email> 
     </template> 
    </global> 
</config> 

Вы можете затем добавьте свой собственный шаблон электронной почты с остальными

/app/locale/en_US/template/email/mycustomtemplate.html

<h1>Dear {{var username}}</h1> 
<p>bla bla </p> 
<div>{{var storename}} ({{var store_url}})</div>