N:macro- registrace „attribute“ funkce u makra vypne vykreslování začátku a konce makra

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tobice
Člen | 30
+
0
-

Snažím se vytvořit alternativu n:href makra, která kromě vygenerování odkazu zároveň celý odkaz obalí podmínkou, která ověří, zda má uživatel oprávnění k tomu odkazu.

Makro registruji následujícím způsobem:

        $me->addMacro('secHref',
            array($me, 'macro'),
            array($me, 'macroEnd'),
            array($me, 'macroAttribute')
        );

Takto nadefinované se ale aplikuje pouze macroAttribute (vygeneruje se mi odkaz do href), macro a macroEnd jsou ignorované a obalující podmínka se nevykreslí. Pokud ale definici macroAttribute vynechám…

        $me->addMacro('secHref',
            array($me, 'macro'),
            array($me, 'macroEnd')
        );

…tak se obalující podmínka bez problému vykreslí. Dá se toto chování nějako obejít? A proč se to vůbec děje? Používám Nette 2.1.