Jak na posílání emailu formátovaného latte šablonou

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kloban
Člen | 123
+
0
-

Ahoj, snažím se podle https://doc.nette.org/cs/mail#… poslat email formátovaný latte šablonou. Problém mi dělá

->setHtmlBody($latte->renderToString('uctenka.latte', $cisloDodkladu));

Laděnka hlásí

Call to undefined method Nette\Latte\Engine::renderToString().

Prosím o jakékoliv nakopnutí. Díky.

galab
Backer | 74
+
0
-

Nepoužíváš starší verzi Nette?

kloban
Člen | 123
+
0
-

Používám: Nette Framework 2.1.1 (revision 9e7e5fc released on 2014–02–11)

David Matějka
Moderator | 6445
+
0
-

Tak si prepni dokumentaci na odpovidajici verzi

kloban
Člen | 123
+
0
-

Ještě sem dám celou metodu

	public function handleUctenkaNaEmail($cisloDodkladu)
	{
		$latte = new Latte\Engine;

		$mail = new Message;
		$mail->setFrom('odesilatel <email@neco.com>')
		     ->addTo('email@neco.com')
		     ->setSubject('Předmět: Účtenka číslo '.$cisloDodkladu)
		     ->setHtmlBody($latte->renderToString('uctenka.latte', $cisloDodkladu));

		$mailer = new SendmailMailer;
		$mailer->send($mail);

		$this->flashMessage("Účtenka odeslána na email.");
	}

a ještě mám nahoře nastaveno toto:

namespace App\ObjednavaniModule\Presenters;

use Nette,
	DateTime,
	App\Model,
	Nette\Utils\Html,
	Nette\Mail\Message,
	Nette\Mail\SendmailMailer,
	Nette\Latte;
kloban
Člen | 123
+
0
-

matej21 napsal(a):

Tak si prepni dokumentaci na odpovidajici verzi

Aha, díky. :-)

kloban
Člen | 123
+
0
-

Mám ještě trochu jiný problém a to, že mi to nemůže najít šablonu:

Missing template file 'uctenka.latte'.

Problém je zde:

$template = new Nette\Templating\FileTemplate('uctenka.latte');

Jak k ní mám správně zapsat cestu?
Presenter je zde: /app/ObjednavaniModule/presenters/ObjednavkaPresenter.php
a šablona zde: /app/ObjednavaniModule/templates/Objednavka/uctenka.latte

Šaman
Člen | 2659
+
0
-

__DIR__ . '/../templates/Objednavka/uctenka.latte'

Editoval Šaman (7. 11. 2014 12:58)