Problém s přidáním vlastního makra
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- dasim
 - Člen | 9
 
Zdravím, nemohu vůbec přijít na to, jak přidat vlastní makro, resp. kde dělám chybu při jeho přidávání.
Používám tam teď Nette 2.0-dev (released on 2011–08–24). V BasePresenter mám podle dokumentace a toho co jsem našel na fóru:
public function templatePrepareFilters($template)
{
	$latte = new Nette\Latte\Engine;
	$set = new Nette\Latte\Macros\MacroSet($latte->parser);
	$set->addMacro(
	    'formrow', // název makra
	    'echo "form"',  // PHP kód nahrazující otevírací značku
	    'echo "row"' // kód nahrazující uzavírací značku
	);
	// \Nette\Diagnostics\Debugger::dump($latte);
	// exit;
    $template->registerFilter($latte);
}
Když vymažu cache a odkomentuji ten dump, viudím, že Latte má to makro zaregistrované. Pokud pak ale v šabloně použiju:
{formrow}...{/formrow}
Dostanu výjimku, Nette\Latte\ParseException, Unknown macro {formrow} in …latte:5
Už mě nenapadá, kde dělám chybu, může mi prosím někdo zkusit poradit? Moc děkuji.

- Jan Tvrdík
 - Nette guru | 2595
 
Pravděpodobně to makro používáš v šabloně, která používá jinou konfiguraci, např. v šabloně komponenty.