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
+
0
-

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.

Screen erroru

	$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
+
0
-

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
+
+2
-

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);
Martk
Člen | 660
+
0
-

Existuje tam i konverze na string.

$renderToString = (string) $template;