Magento: сбой шаблона электронной почты в новой форме шаблона

#zend-framework #magento

#zend-framework #magento

Вопрос:

У меня есть модуль, который я пытаюсь использовать с созданным мной шаблоном электронной почты. Я создал шаблон .phtml напрямую (не через новую форму шаблона на серверной части) в locale > en_US> template > папку электронной почты. Шаблон, похоже, работает, поскольку переданные ему переменные работают, и электронное письмо отправляется нормально. Моя единственная проблема в том, что теперь, когда я захожу в управление > Транзакционные электронные письма> Новый шаблон, страница вылетает. Выпадающий список пуст, и все, что после него, не отображается.

Я думаю, что это может быть как-то связано с тем, как я загружаю шаблон в модули config.xml . Когда я удаляю ссылку на шаблон, проблема исчезает. Верните ссылку, и форма завершит работу..

Config.xml

 <?xml version="1.0"?>
<config>
  <modules>
    <Optimise_Requestcallback>
      <version>0.1.9</version>
    </Optimise_Requestcallback>
  </modules>
  <frontend>
    <routers>
      <requestcallback>
        <use>standard</use>
        <args>
          <module>Optimise_Requestcallback</module>
          <frontName>request-callback</frontName>
        </args>
      </requestcallback>
    </routers>
    <layout>
      <updates>
        <requestcallback>
          <file>optimise.xml</file>
        </requestcallback>
      </updates>
    </layout>
  </frontend>
  <global>
    <template>
        <email>
            <requestcallback_template translate="label" module="requestcallback">
                <label>Optimise RequestCallback</label>
                <file>requestcallback_template.html</file>
                <type>html</type>
            </requestcallback_template>
        </email>
    </template>
</global>
</config>
  

Вот как я отправляю электронное письмо:

 public function sendemailAction() {


    $emailTemplate = Mage::getModel('core/email_template')
                    ->loadDefault('requestcallback_template');


    $emailTemplateVariables = array();

    //Fetch submited params
    $params = $this->getRequest()->getParams();

    $subjectOfMail = "Request a Callback from the Puji Website<br /><br />Product = " . $params['product'] . "<br />Name = " . $params['name'] . "<br />Email = " . $params['email'] . "<br />Telephone = " . $params['telephone'] . "<br />Message = " . $params['comment'];

    $emailTemplateVariables['body'] = $subjectOfMail;


    $emailTemplate->setSenderName($params['name']);
    $emailTemplate->setSenderEmail($params['email']);

    try {
        $emailTemplate->send('billy@optimiseweb.co.uk', 'Sales', $emailTemplateVariables);
        Mage::getSingleton('core/session')->addSuccess('Thank you! We will contact you very soon.');
    } catch (Exception $ex) {

        $translate->setTranslateInline(true);

        Mage::getSingleton('customer/session')->addError(Mage::helper('contacts')->__('Unable to submit your request. Please, try again later'));
        $this->_redirect('*/*/');
        return;
    }

    //Redirect back to index action of (this) activecodeline-simplecontact controller
    $this->_redirect('request-callback/');
}
  

И сам шаблон, вероятно, не мог быть проще!

 <!--@subject Request a Callback from the Puji Website @-->

{{var body}}
  

Может ли кто-нибудь увидеть здесь проблему, которая может привести к сбою новой формы шаблона?

Ответ №1:

Могут быть разные причины, но сначала проверьте config.xml файл для каждого пользовательского модуля, один за другим.

Должен быть один модуль, где вы найдете код, подобный:

module="[some-module-name-here]"

Попробуйте удалить этот код один за другим и снова перезагрузите форму шаблона транзакции электронной почты.

Я уверен, это решит проблему.

Комментарии:

1. Я думаю, вы неправильно поняли вопрос. Вопрос предполагает, что что-то не так с шаблоном электронной почты , а не с модулями.

2. Но проблема связана с настройкой какого-либо модуля. Я сталкивался с подобной проблемой 3-4 раза.