Odeslání emailu – text v DB

motorcb
Člen | 552
+
0
-

Zdravím,

chci odeslat email (html), jehož text je uložen v DB. Začal jsem takto:

$emailTemplateRow = $this->modelEmailTemplate->findByKey('activation');
$latte = new Latte\Engine;
$params = [
   'activationLink' => $this->link('//:Front:Sign:activation', ['id' => $userRow->id, 'token' => $userRow->token]),
   'username' => $userRow->username
];

$this->sendHtmlEmail($userRow->email, $emailTemplateRow->subject, $latte->renderToString((string)$emailTemplateRow->body, $params));

	public function sendHtmlEmail($toEmail, $subject, $body)
	{
		$mail = new Message;
		$mail->setFrom(self::FROM_EMAIL)
			->addTo($toEmail)
			->setSubject($subject)
			->setHtmlBody($body);

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

Ale po odeslání mi to vrátí chybu:
**
RuntimeException
Missing template file '<p>Dobrý den {$username}, …
**

Poradil by prosím někdo jak na to?
Díky

Mysteria
Člen | 797
+
+1
-

Ahoj, metoda renderToString očekává jako první parametr cestu k souboru se šablonou.
Když to máš v databázi, tak použij StringLoader.

Editoval Mysteria (3. 1. 2019 23:31)