Změna atributů HTML elementu pomocí n makra

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

Zdravím,

potřeboval bych změnit atributy i obsah HTML elementu <a> pomocí n makra.

Zápis makra bych si představoval asi takhle:

<a n:myMacro="$someInstance" attr1="value1" attr2="value2">Inner text</a>

Makro by mělo umět doplnit potřebné atributy i vnitřní HTML obsah na základě předané instance, pokud již budou nějaké atributy zadány, tak dojde ke sjednocení. Prioritu by měly mít ty, které jsou v zadaný v šabloně .

Lze něco takového udělat s pomocí Latte, případně můžete mě někdo navést?

Zatím jsem se dostal k tomu, že v MacroNode, vidím HtmlNode a potřeboval bych asi nějak dostat „atributy HtmlNode do PhpWriteru jako %node.array“ (asi). Nemám tušení, jak to vnitřně funguje…

Editoval ZZromanZZ (28. 2. 2014 17:01)

ZZromanZZ
Člen | 87
+
0
-

Takže stačilo jen zaregistrovat makro následovně:

$me->addMacro("myMacro", NULL, NULL, array($me, "macroMyMacro"));

Problém je, že takto zaregistrované makro mi nedovolí měnit vnitřek elementu.