2016-04-22 2 views
1

В настоящее время я завершаю настройку пользовательского контроллера для приема запроса Ajax для формы цитаты. Я смог успешно настроить все, и он отправляется правильно. Вопрос, который у меня есть, касается метода связывания шаблона транзакционной электронной почтыс CMS с контроллером, который я установил.Magento Transactional Email Template

У меня есть шаблон в локали установки Magento и вы можете загрузить его в менеджер электронной почты Transactional бэкэнд. Как я могу получить идентификатор этого шаблона и загрузить его в почтовый объект? Я попытался использовать простой числовой идентификатор, и, похоже, он не работает.

Config.xml

<global> 
    <template> 
     <email> 
      <custom_quote> 
       <label>Custom Quote Form</label> 
       <file>custom-quote.html</file> 
       <type>html</type> 
      </custom_quote> 
      <trade_printer> 
       <label>Trade Printer Form</label> 
       <file>trade-printer.html</file> 
       <type>html</type> 
      </trade_printer> 
     </email> 
    </template> 
    </global> 
+0

вы можете поделиться вы config.xml? –

+0

Добавлен соответствующий фрагмент. – Sidriel

ответ

1

После прочтения на доступных методов, я обнаружил, что loadDefault() всегда будет загружать шаблон из базы данных locale. Использование loadByCode() с именем, указанным в редакторе транзакций электронной почты, загрузит настроенный шаблон.

Финальный код

$emailTemplate = Mage::getModel('core/email_template')->loadByCode('Template Name Here');

1

это пример кода для отправки электронной почты с шаблоном электронной

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


$emailTemplateVariables = array(); 
$emailTemplateVariables['myvar1'] = 'Branko'; 
$emailTemplateVariables['myvar2'] = 'Ajzele'; 
$emailTemplateVariables['myvar3'] = 'ActiveCodeline'; 
$processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables); 
$emailTemplate->send('[email protected]','John Doe', $emailTemplateVariables,$storeId=null); 

reference

+0

Я ценю помощь, но, как я уже сказал во второй половине моего вопроса, мне удалось связать шаблон, расположенный в папке локали, но я хотел иметь возможность использовать настраиваемую версию, расположенную в настройках электронной почты CMS Transactional , С тех пор я обнаружил метод loadByCode(), который делает именно то, что я хотел. – Sidriel

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