2012-04-02 3 views
0

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

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

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

Кроме того, при совершении вызова на самом деле отправлять почту он всегда выбрасывает исключение.

ответ

1
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[[email protected]]]></recipient_email> 
       <sender_email_identity>custom2</sender_email_identity> 
       <email_template>quotes_email_email_template</email_template> 
      </email> 
     </quotes> 
    </default> 

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

+0

Ваше сообщение правильно, однако я проследил его как ошибку с моей локальной настройкой Wamp и ошибкой SMTP. Мой метод отлично работал на моей производственной площадке. Спасибо хоть! –

Смежные вопросы