Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, boa noite.
Estou tentando usar um template para enviar email de dentro do sistema, o email já é enviado só que não consigo achar o template. Estou tentando assim:
Isso esta no meu controller:
$resolver->setMap(array(
'mailTemplate' => __DIR__ . '/view/application/mail/os-mail.phtml'
));
A mensagem que chega é:
Warning: include(/var/www/html/sgt/module/Application/src/Application/Controller/view/application/mail/os-mail.phtml): failed to open stream: No such file or directory in
Ja tentei assim :
'mailTemplate' => '../../../view/application/mail/os-mail.phtml'
A mensagem que chega é:
Warning: include(../../../view/application/mail/os-mail.phtml): failed to open stream: No such file or directory in
Tenho certeza que o caminho esta errado, agora como sair do Controller e ir para view ..?Williams, bom dia
Cara, obrigado pela resposta. No caso então, seria interessante eu criar um modulo para envio, tratar as informações no meu Controller e passar isso para o modulo renderizar e enviar ?
Ou uma classe bastaria?
>
1 hora atrás, gust.php disse:
Ou uma classe bastaria?
Not!
O Events no ZF é uma implementação do pattern observer, que permite que você escute vários eventos que ocorrem na aplicação.
Se você separar isso, pode usar em outros lugares e claro, mantém a organização de forma mais profissional da aplicação.
Para passar as informações do controller para o observer. Veja este tutorial.
http://www.michaelgallego.fr/blog/2013/05/12/understanding-the-zend-framework-2-event-manager/
APPLICATION_PATH . '/modules/my_module/view/application/mail/os-mail.phtml'
Veja o nome das pastas corretamente antes de copiar e colar.
Outro detalhe, não é responsabilidade do controller disparar emails. Muito menos renderizar as views destes templates de emails.
Pesquise por Events e Listeners
https://framework.zend.com/manual/2.3/en/tutorials/tutorial.eventmanager.html
Desta forma você isola, seguindo os princípios do S.O.L.I.D