diff --git a/app/components/CommonBasePresenter.php b/app/components/CommonBasePresenter.php index 3c65575..5dc8781 100644 --- a/app/components/CommonBasePresenter.php +++ b/app/components/CommonBasePresenter.php @@ -68,6 +68,18 @@ protected function createComponent($name){ return parent::createComponent($name); } + //Allow to use helpers as a latte macros + public function templatePrepareFilters($template) { + $template->registerFilter($e = new Nette\Latte\Engine()); + $s = new Nette\Latte\Macros\MacroSet($e->compiler); + $s->addMacro('helper', 'ob_start()', + function($n) { + $w = new \Nette\Latte\PhpWriter($n->tokenizer, $n->args); + return $w->write('echo %modify(ob_get_clean())'); + } + ); + } + /** Trigger plugin event as filter supplied value * @param $eventname * @param $filter value to supply to filter chain