Jak nahradit Nette\Templating\FileTemplate a Nette\Templating\Helpers::loader

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

Ahoj,

přecházím z Nette 2.1 a mám tam vlastní Filetemplate odděděné od Nette\Templating\FileTemplate.

V Nette 2.3 je ale Nette\Templating\FileTemplate deprecated a já nevím čím jej nahradit.

Stejně tak nevím čím nahradit konstrukci:

$this->registerHelperLoader('Nette\Templating\Helpers::loader');

Zkoušel jsem:

$this->addFilter(NULL, 'Latte\Macros\CoreMacros::install');

Což ale jako metodu deprecated FileTemplate nemá.

Můžete mi prosím s přechodem poradit? Děkuji

Editoval miler (18. 5. 2015 14:38)

miler
Člen | 75
+
+1
-

Udělal jsem si vlastní implementaci ITemplateFactory, zde je již vše v pořádku. Teď ale nevím asi poslední krok – mám v databázi „latte“ šablony mailů, kde jsem používal $template->setSource($mail->latte); což nevím jak teď s ITemplate kterou mi vrací továrna vyřešit. Takže jsem to udělal tak, že si sáhnu na $latte ze šablony přes getLatte() a pak používám $latte->setLoader(new Latte\Loaders\StringLoader); a renderToString() což ale původní jednoduché setSource() nahrazuje poměrně komplikovaným postupem.

Editoval miler (21. 5. 2015 9:25)