Как использовать пользовательские переменные в файле 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?

Author: Qaisar Satti, 2016-10-19

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'];
 2
Author: Qaisar Satti, 2016-10-19 11:21:14