Magento: в шаблоне электронной почты вылетает новая форма шаблона - PullRequest
0 голосов
/ 04 ноября 2011

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

Я думаю, это может быть связано с тем, как я загружаю шаблон в модули 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 Ответ

0 голосов
/ 27 сентября 2012

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

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

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

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

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

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