Volání dafaultního macra ve vlastním macru

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

Ahoj,
rád bych se zeptal, jestli je nějak možné volat macro v jiném macru? Moje představa je takové, že si vytvořím třeba macro {specialLink} a v něm by se mělo volat defaultní macro {link}.

Je to možné nějak udělat?

Děkuji za odpověď,
Zbyněk

GEpic
Člen | 562
+
0
-

Ahoj, makro zapisuje reálný php kod pomocí PhpWriteru, tzn. podívej se co vypisuje přímo makro link a jen si ho uprav jak potřebuješ. :)

My máme také takto udělané makro box, které volá makro control (ve skutečnosti nevolá, volá přímo konrétní metodu echo $this->global->uiControl->getComponent(blablabla)), ale předáváme si trošku jinak parametry do render metody apod.

Editoval GEpic (4. 8. 2016 14:33)

Domaneni
Člen | 3
+
0
-

GEpic napsal(a):

Ahoj, makro zapisuje reálný php kod pomocí PhpWriteru, tzn. podívej se co vypisuje přímo makro link a jen si ho uprav jak potřebuješ. :)

My máme také takto udělané makro box, které volá makro control (ve skutečnosti nevolá, volá přímo konrétní metodu), ale předáváme si trošku jinak parametry do render metody apod.

Takže makro link reálně nepoužiji, jen zkopíruji to co vypisuje? To bych úplně nechtěl. Moje {specialLink} by mělo vypisovat celý anchor a makro {link} jsem chtěl použít jen jako součást pro výpis odkazu do href.

GEpic
Člen | 562
+
0
-

Domaneni napsal(a):

GEpic napsal(a):

Ahoj, makro zapisuje reálný php kod pomocí PhpWriteru, tzn. podívej se co vypisuje přímo makro link a jen si ho uprav jak potřebuješ. :)

My máme také takto udělané makro box, které volá makro control (ve skutečnosti nevolá, volá přímo konrétní metodu), ale předáváme si trošku jinak parametry do render metody apod.

Takže makro link reálně nepoužiji, jen zkopíruji to co vypisuje? To bych úplně nechtěl. Moje {specialLink} by mělo vypisovat celý anchor a makro {link} jsem chtěl použít jen jako součást pro výpis odkazu do href.

Je jedno jestli budeš volat {link} nebo to, co reálně makro link vypisuje, beztak se to vše ve finále převede na surový php kód. Důležité je, že ty použíješ jen to své {slink}

Editoval GEpic (4. 8. 2016 15:27)

Domaneni
Člen | 3
+
0
-

Pro upřesnění: Potřeboval bych využít volání makra, jako se v přiloženém příkladu. Makro {href} v sobě volá funkci macroLink, která má v sobě logiku volání presenteru a componenty. Toto volání se v rámci jedné třídy, ale já bych ho potřeboval využít v jiné třídě, která na tuto nevidí

greeny
Člen | 405
+
0
-

Makro {link} udělá jen $presenter->link() a předá argumenty :) IMHO je nejlepší udělat si customLink tak, že bude využívat presenter úplně stejně