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
+
0
-

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
+
0
-

Pravděpodobně to makro používáš v šabloně, která používá jinou konfiguraci, např. v šabloně komponenty.

dasim
Člen | 9
+
0
-

Jan Tvrdík napsal(a):

Pravděpodobně to makro používáš v šabloně, která používá jinou konfiguraci, např. v šabloně komponenty.

Jo, to je ono, to jsem přehlédl. Díky moc!