Potřebuji generovat Latte šablony do proměnné ale zdroj šablony je z řetězce, nikoli z *.latte souboru

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

Dobrý den, potřebuji za běhu aplikace vygenerovat přes latte šablonu do proměnné, což je v pohodě, ale problém je v tom, že zdroj pro šablonu není v souboru ale mám ho v proměnné. Jde o šablony emailů, které jsou dynamické.

Používal jsem toto :

$contentTemplate = new \Nette\Templating\Template;
$contentTemplate->registerHelperLoader( '\Nette\Templating\Helpers::loader' );
$contentTemplate->setSource( $sourceContent );
$contentTemplate->registerFilter( new \Nette\Latte\Engine );
$contentTemplate->order = $this;

$content = (string) $contentTemplate;

Bohužel po přechodu na Nette 2.4 jsem zjistil, že třída \Nette\Templating\Template neexistuje

Díky za rady

Editoval janys80 (2. 10. 2017 10:02)

janys80
Člen | 4
+
+3
-

Odpovím si sám :o)

Teď jsem to vygooglil …

$latte = new \Latte\Engine();
$latte->setLoader( new \Latte\Loaders\StringLoader );

$content = $latte->renderToString( $sourceContent, array( 'order' => $this ) );