Problém proměnné v šabloně, která se vkláda do e-mailu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Tom93
- Člen | 6
Zdravím prosím o radu nevím jak definat proměnnou, která je vložená v šabloně a následně jí v kládám do těla e-mailu.
$password = $this->randomPassword();
$template = $this->createTemplate()->setFile(__DIR__ .'/templates/Sign/forgottenPasswordEmail.latte');
$latte = new Latte\Engine;
$params = [
'password' => $password,
];
$mail = new Message;
$mail->setFrom('Sportovní centrum <blabla.neco.cz>')
->addTo($email->p_email)
->setHtmlBody($latte->renderToString($template, $params));
- Altimit
- Člen | 82
no já to mám takhle a funguje to:
$parrms = array('email' => $values->email,
'jmeno' => $values->jmeno,
'prijmeni' => $values->prijmeni,
'string' => $string);
$mail = new Message;
$latte = new \Latte\Engine;
$mail->setFrom('....')
->addTo($values->email)
->setSubject('Dokončení registrace.')
->setHtmlBody($latte->renderToString(__DIR__ . '/../templates/Sign/email.latte', $parrms));
- ali
- Člen | 342
Pokud bys chtel vkladat promenne jako v presenteru, tak nize mas ukazku, jak to pouzivam ja.
...
$this->mailer = $mailer;// Nette\Mail\IMailer
$this->linkGenerator = $linkGenerator;// Nette\Application\LinkGenerator
$this->templateFactory = $templateFactory;// Nette\Application\UI\ITemplateFactory
...
$template = $this->templateFactory->createTemplate();
$template->getLatte()->addProvider("uiControl", $this->linkGenerator);
$template->setFile(__DIR__ . "/template.latte");
$template->data = $user;
$message = new Nette\Mail\Message;
$message->setHtmlBody($template)
->addTo($user->email);
$this->mailer->send($message);