Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Preciso enviar um e-mail no cakephp, até essa parte, tudo certo, mas preciso setar informações do usuário que está logado ao enviar o e-mail. O mesmo não é enviado após um form, apenas é enviado depois de alguns select e tudo mais.
$user = $this->User->find('first', array(
'conditions' => array(
'User.id' => $this->Session->read('Auth.User.id'),
'User.status' => 1,
)
));
$this->set(compact('user'));
//Envia o e-mail com o currículo
$email = new CakeEmail('smtp');
$email->template('curriculo');
$email->to(array($place['User']['username']));
$email->subject('Currículo - ' . $user['User']['name']);
$email->send();
No arquivo currículo.ctp eu preciso ter acesso aos dados da variável $user, mas isso não funciona, simplesmente aparece a mensagem:
Notice (8): Undefined variable: user [APP\View\Emails\html\curriculo.ctp, line 16]
.
$email->viewVars(compact('user'));
Funcionou perfeitamente, valeu pela documentação correta!
$this->set() você seta variáveis para a views e não para templates.
Para template é o objeto abaixo
CakeEmail::viewVars()
Leia a documentação
http://book.cakephp.org/2.0/en/core-utility-libraries/email.html