Makro {layout} a hledání v jiném adresáři
- Jiří Nápravník
- Člen | 710
Chtěl bych nějak docílit toho, aby mi makro {layout} nehledalo relativně k šabloně (případně absolutně), ale abych zadal například {layout ‚name.latte‘} a hledalo to podle formatLayoutTemplateFiles, případně na podobném principu.
Jde mi o to, že chci mít u šablon možnost nastavit dědění layoutu, ale nechci řešit přesnou adresu, chci jen nastavit jednou, v kterém adresáři hledá a je to.
- Jiří Nápravník
- Člen | 710
Tak jsem to vyřešil ne zrovna šťastně, ale mám to tak, že v latte dávám:
{layout $presenter->findLayout(‚nazev-layoutu‘)}
a findLayout mám v BasePresenteru
byl bych rád, pokud by to šlo nějak lépe, či pokud by někdo poradil jak napsat makro, které by to zvládalo
- Jiří Nápravník
- Člen | 710
Felix napsal(a):
- Bud si muzes prepsat defaultni chovani.
- Udelat si vlastni makro ktere bude vyuzivat {layout} makro
- Udelat si vlastni metodu {layout $presenter->findLayoutTemplateFiles(‚name.latte‘)}
Aktualne me nic jineho nenapada :-)
Díky za reakci, napsal jsi ji během mého spisování odpovědi, tak to vypadá trochu divně:-) Jak jsem psal, zatím jsem skončil c možností c)
Možností a) myslíš, přepsat samotnou část v nette? to ne, to je fuj fuj:)
- no o to jsem se pokoušel celou dobu, ale nějak jsem nebyl schopný zavolat to makro {layout} z vlastního makra…
- HappyFace
- Člen | 162
toto som ja tiez riesil relativne nedavno:
https://forum.nette.org/…nette-2-0-12
https://forum.nette.org/…ka-file-path
nakoniec z toho vysla tiez metoda, ktora automaticky trace-uje cestu k volanej template..
{layout $_presenter->traceTemplateFile("menu",, $template->getFile())}
- hlada to nezavysle na typu templaty v poradi *.latte → *.phtml, atd. ale tiez mozes zadat hned „menu.latte“
- musel som tam pridat este jeden parameter a to „$template->getFile()“ koli zacykleniu, odporucam doplnit ak to nemas.
Problem je ze sa mi to nepodarilo prepisat ako macro kde potrebujem zavolat povodne macro a don doplnit vlastny kod.
Editoval HappyFace (26. 11. 2013 8:32)
- Jiří Nápravník
- Člen | 710
Na ten první link jsem narazil a inspiroval se tam:)
Já si nakonec vystacil s jednodušší metodou, kde mám v podstatě jen cestu a najdu si ten layout v ní, či-li cyklení apod by tam hrozit nemělo.
- HappyFace
- Člen | 162
Jiří Nápravník napsal(a):
Na ten první link jsem narazil a inspiroval se tam:)
Já si nakonec vystacil s jednodušší metodou, kde mám v podstatě jen cestu a najdu si ten layout v ní, či-li cyklení apod by tam hrozit nemělo.
a tam prave ze dost realne moze dojst k zacykleniu :) lebo vzdy prechadzas rovnake cesty od zaciatku cize je velmi jednoduche sa zamotat alebo narazit na tu istu cestu, ktoru aktualne uz pouzivas
- Jiří Nápravník
- Člen | 710
No já tam momentálně mám jen jednu cestu na kontrolu a v neprojíždím to od začátku, prostě v na konci té cesty je šablona nebo není. Nepotřeboval jsem tam nějak více cest zatím + zatím mi stačí mít jen vždy v jednom layoutu ne nějak zanořenými apod. takže zatím to u mě nehrozí:)
- Felix
- Nette Core | 1270
Možností a) myslíš, přepsat samotnou část v nette? to ne, to je fuj fuj:)
Muzes si podedit UIMacros
a pak pretizit metodu
macroExtends