Latte sablony spajanie usekov HTML
- Raiper34
- Člen | 65
Zdravim, mohol by mi prosim niekto vysvetlit spajanie latte sablon? Studujem dokumentaciu ale ked sa pozrem @layout.latte tak tomu prestanem chapat. Ten @layout je vzdy spusteny alebo ako? AKo sa to zostavuje? Ja som si myslel ze k presenteru sa da presentermeno.latte, ale tam mam iba block content, teda ono akokeby sa spustal vzdy ten @layout najprv a nie presenter.latte. Som z toho dost zmateny…
Ide mi hlavne o to, ze chcem mat developer zonu a user zonu a user zona ma uplne inu hlavicku ako developer zona, teda menu a pritom kazda stranka ma v developer/user zone iny obsah. Ako to SPRAVNE spravit? mat nejako latte k presenteru a tam inkludovat hlavicku/menu stranky podla toho ci to je developer, alebo user?
- David Matějka
- Moderator | 6445
ano, layout se spousti (skoro) vzdy https://doc.nette.org/…n/presenters
Ide mi hlavne o to, ze chcem mat developer zonu a user zonu a user zona ma uplne inu hlavicku ako developer zona, teda menu a pritom kazda stranka ma v developer/user zone iny obsah. Ako to SPRAVNE spravit?
vytvor si moduly, https://github.com/…odules-Usage
- Machy8
- Člen | 59
Pokud chceš mít Developer a User zónu vytvoř si moduly, tak jak píše David. Podívej se na mapping ve složce app/config.neon a namespace presenterů, protože pokud budeš chtít tu strukturu obměňovat, budeš muset provést příslušné úpravy. K tomu se hodí si přečíst část o odkazech.
Jestliže budeš chtít změnit layout mezi Developer a User (kupříkladu
kvůli té hlavičce, menu, blokům atd.), můžeš nastavit libovolný layout
pomocí $this->setLayout('cesta/k/@layoutu.latte');
v metodě
beforeRender()
v BasePresenteru v příslušném modulu. Kdybys
chtěl měnit obsah hlavičky v každé šabloně (například), tak je lepší
použít bloky. Možná
pomůže i článek o dědičnosti
šablon (nenašel jsem novou verzi).
- Zuben45
- Člen | 268
Raiper34 napsal(a):
Diky, no tie moduly mi neprijdu najidealnejsie, budem muset vymyslet nieco este, ale dik :) Stale pozeram do doku a stale tam vzdy cosi prehliadnem…
Pokud to chápu dobře, tak by ti mohlo pomoct, že by jsi v daném presenteru nastavíš blok pro header/menu a ty pak includnes do layout (https://latte.nette.org/cs/tags#…), problém je že to budeš muset nastavit u každého presenteru zvlášť, takže jak už psal David Matějka spíš bych se přikláněl k modulum ;)
Editoval Zuben45 (20. 12. 2015 22:20)
- F.Vesely
- Člen | 369
Moduly jsou na tohle nejlepsi, mas proste AdminModule a FrontModule. Kazdy ma vlastni @layout.latte, namespace, slozku, presentery, sablony, … Ted chces mit jen rozdilne hlavicky, ale co kdyz budes chtit zachvili i neco jineho? A co kdyz budes potrebovat dalsi modul? Je lepsi delat veci poradne, aplikaci co nejvice clenit, mit v tom poradek na prvni pohled (struktura, pojmenovani). Ver mi, ono se ti to jednou vrati.