ITemplateFactory – jak nastavit sablonu z databaze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jiří Nápravník
Člen | 710
+
+1
-

Zjistil jsem, že FileTemplate a Templating\Template je deprecated a tak jsem chtěl odesílání mailu předělat na ITemplateFactory.

U šablony ze souboru je to v pohodě. Ale mám hlavní šablony v databázi a používal jsem $template->setSource(), ale tady to není, jak na to? Jak podsunout šablonu prostě jako text a ne soubor?

A chápu správně, že když použiju ITemplateFactory – tak nemusím řešit registrování maker a filtrů, protože tam jde z DI kontejneru, že?

David Matějka
Moderator | 6445
+
+2
-

Staci nastavit loader: https://latte.nette.org/cs/#…

K latte engine se dostanes touhle metodou: https://api.nette.org/…emplate.html#…

Jiří Nápravník
Člen | 710
+
+1
-

Díky moc funguje, pro případné další zájemce celek:

$textTemplate = $this->templateFactory->createTemplate()
	->getLatte()
	->setLoader(new StringLoader())
	->renderToString($template->getTextTemplate(), $templateVariables); //prip. render(), pokud chci rovnou vypsat