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.