Enviando E-mails Transacionais direto no código do Magento

O magento possui uma funcionalidade de e-mails transacionais muito interessante.

Com ela podemos alterar o template dos e-mails facilmente pelo painel administrativo da loja.

Isso é utilizado nos e-mails padrão de confirmação de pedido, recuperação de senhas, entre outros.

Porém é possível, também, enviarmos e-mails personalizados com esse sistema através de algum módulo personalizado ou até mesmo do próprio núcleo do magento.

O código para isso é bem simples.

Ele utiliza o mesmo padrão do zend framework.

Segue um exemplo abaixo:

//Define o id do template criado
$templateId = 1;

//Define o nome e e-mail para resposta
//Pega esses dados das configurações da loja
$sender = Array('name' => Mage::getStoreConfig('trans_email/ident_general/name'),
'email' => Mage::getStoreConfig('trans_email/ident_general/email'));

//Define o id da loja que vai enviar o email
//Pega a loja em uso automaticamente
$store = Mage::app()->getStore();

//Define as variáveis que serão alteradas no template
$vars = Array('nome' => $nome,
'emailcliente' => $emailcliente,
'telefone' => $telefone,
'operadora' => $operadora,
'texto' => $texto
);

//Ativa o módulo de tradução
$translate = Mage::getSingleton('core/translate');

//envia o e-mail com os dados preenchidos acima
Mage::getModel('core/email_template')->sendTransactional($templateId,
$sender,
$para,
$nome,
$vars,
$store->getId());

//Ativa tradução na tela
$translate->setTranslateInline(true);

Note que o template utilizado é definido pelo seu ID.

Ele pode ser obtido no grid dos e-mails transacionais, conforme é demonstrado na imagem abaixo:

magento-tela-email-transacional-01

As variáveis do e-mail

Dentro do e-mail transacional criado, devemos adicionar as variáveis que definimos no código acima.

Elas devem ser indicada assim: “{{var minhavariavel}}”.

No meu exemplo elas ficariam assim:

magento-tela-email-transacional-02

Se tudo der certo, ao executar o controle ou método onde o código foi foi colocado o código,  o e-mail deve ser enviado da mesma forma que as mensagens padrão do magento.

2017-01-24T20:25:11+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x