Как использовать пользовательские переменные в файле phtml для электронной почты
Я создал Шаблон транзакционных электронных писем в администраторе magento для динамической отправки нескольких кодов купонов для этого я создал файл шаблона с надписью email/custom.phtml
, и он включен в шаблон электронной почты.
Он успешно включен в шаблон электронной почты, но я пытаюсь добавить {{var code12}}
, {{ var code13 }}
и т.д. с многократным временем, но это не работает.
Если я добавлю их в шаблон прямой электронной почты в администраторе magento, то он будет работать так, как я хочу, но я хочу создавайте {{var}}
также динамически.
Я использую приведенный ниже код для отправки электронной почты:
$senderName = 'custom';
$senderEmail = Mage::getStoreConfig('trans_email/ident_general/email');
$emailTemplate = Mage::getModel('core/email_template')->loadByCode('Custom Template');;
$emailTemplateVariables = array();
$emailTemplateVariables['name'] = 'name';
$emailTemplateVariables['code12'] = 'AB56FFD';
$processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables);
$mail = Mage::getModel('core/email')
->setToName('name')
->setToEmail('[email protected]')
->setBody($processedTemplate)
->setSubject('Coupon code')
->setFromEmail($senderEmail)
->setFromName($senderName)
->setType('html');
$mail->send();
Мой custom.phtml
код здесь:
##My shopping cart rule are product specific
<table>
<?php
$allProducts = array(10,20,30);
foreach($allProducts as $product_id)
{
$product = Mage::getModel('catalog/product')->load($product_id);
?>
<tr><td>
<?php
echo $product->getName();
echo Mage::getModel('core/variable')->loadByCode('code12')->getValue('text'); // it is not working
?>
{{var code12}} // it is not working
</td></tr>
<?php
}
?>
</table>
И Шаблон транзакционных электронных писем код здесь:
...
{{block type="core/template" name="email_custom" template="email/custom.phtml" }}
....
Как добавить custom variables
в файл phtml?
1 answers
Передать массив
$emailTemplateVariables['code'] = array('code12'=>'AB56FFD','code13'=>'AB5fd6FFD','code14'=>'AB56dfFFD') ;
Вы должны передать переменную в файл phtml
{{block type="core/template" name="email_custom" template="email/custom.phtml" code=$code}}
В файле phtml
$code= $this->getCode();
echo $code['code12'];