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