Template: helper funguje pouze při „prvním“ požadavku (pokud šablona ještě není uložená v keši)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- pekelnik
- Člen | 462
Vše je řečeno v nadpisu – tady je kód:
<?php
// presenter:
public function templatePrepareFilters($template)
{
$latte = new Nette\Latte\Engine();
$set = new Nette\Latte\Macros\MacroSet($latte->compiler);
$service = $this->getContext()->fooService;
$template->registerHelper('foo', function($args) use ($service) {
return $service->output($args);
});
$set->addMacro('foo', NULL, NULL, 'echo \'foo="\' . $template->foo(%node.args) . \'"\'');
$template->registerFilter($latte);
}
?>
- David Grudl
- Nette Core | 8228
Registruj ho v beforeRender, templatePrepareFilters se volá pouze při „prvním“ požadavku, pokud šablona ještě není uložená v keši.