Magento: статус отправки изменен с помощью пользовательского шаблона электронной почты

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

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

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


person joaogdesigner    schedule 21.02.2013    source источник


Ответы (1)


Пример отправки собственного шаблона электронной почты:

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>
person Andrew    schedule 21.02.2013