Magento: email_template не загружается в пользовательский модуль - PullRequest
0 голосов
/ 02 апреля 2012

Я создал свой собственный модуль контактной формы. В функции postAction(), в IndexController.php у меня есть

$mailTemplate = Mage::getModel('core/email_template');

Ведение журнала консоли показывает, что в переменной ничего не сохраняется. С чего бы это? Модуль контактов по умолчанию загружает его нормально, так почему здесь должно быть что-то другое?

Кроме того, при вызове для фактической отправки почты всегда выдается исключение.

1 Ответ

1 голос
/ 02 апреля 2012
const XML_PATH_EMAIL_RECIPIENT  = 'quotes/email/recipient_email';
const XML_PATH_EMAIL_SENDER     = 'quotes/email/sender_email_identity';
const XML_PATH_EMAIL_TEMPLATE   = 'quotes/email/email_template';

$mailTemplate = Mage::getModel('core/email_template');

/ * @var $ mailTemplate Mage_Core_Model_Email_Template * /

                $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                    ->sendTransactional(
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
                    null,
                    array('data' => $postObject)`
                );

Это должно позволить вам отправлять шаблон по мере необходимости.

Вам понадобится этот бит XML в вашем config.xml

    <template>
        <email>
            <quotes_email_email_template translate="label" module="quotes">
                <label>Quote Form</label>
                <file>quote_form.html</file>
                <type>text</type>
            </quotes_email_email_template>
        </email>
    </template>


    <default>
        <quotes>
            <quotes>
                <enabled>1</enabled>
            </quotes>
            <email>
                <recipient_email><![CDATA[hello@example.com]]></recipient_email>
                <sender_email_identity>custom2</sender_email_identity>
                <email_template>quotes_email_email_template</email_template>
            </email>
        </quotes>
    </default>

Это пример из модуля Mage_Quotes, который позволяет форме отправлять цитату для продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...