#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 раза.