Opakované vypisy v template – block, komponenta?
- Jiří Nápravník
- Člen | 710
Vypisuji seznam článku, strukturově je to pořád stejné, jen je to jednou v renderu pro kategorii, jednou ve vyhledani, apod.
Jak to vykreselni nejlepe resit?
- Komponenta, kterou v zavolám {control articleList $articles}
- nadefinuju si v layoutu block, ktery includuju na dané místo
Nebo ještě nějak jinak?
- Tomáš Votruba
- Moderator | 1114
Z duvodu znovupouziti a spravu na jednom miste 1. komponenta.
Pri includovani latte snippetu navic musis vedet, kde se snippet nachazi. Komponenta se vsude renderuje stejne.
Jake vyhody te napadaji pro 2.?
- Jiří Nápravník
- Člen | 710
Kupodivu zrovna to lepší znovupoužití. Konkrétně proto, že podle mě tohle je řešení pro konkrétní aplikaci/layout. Když pak budu chtít podobné řešení použít v jiné aplikaci, tak bych musel předělávat šablonu komponenty. Když použiju řešení dva, tak to změním v layoutu, který stejně budu měnit u dané aplikace.
a pokud se nemýlím, tak kdybych použil řešení {control articleList $articles} tak mám problém se snippety, a musel bych tu komponentu plnit v presenteru, aby to fungovalo.
Ale pokud jste se shodli dva, tak asi tedy taky zvolim tu komponentu:-)
Editoval Jiří Nápravník (10. 4. 2014 19:43)
- akadlec
- Člen | 1326
@Jiří Nápravník:
Kupodivu zrovna to lepší znovupoužití. Konkrétně proto, že podle mě
tohle je řešení pro konkrétní aplikaci/layout.
Máš namysli že šablony komponenty máš někde u nich a šablony appky tak jinde? Neuvažoval si o tom že si budeš dávat do appky i šablony komponent? Třeba tak že když se komponenta renderuje tak se prvně podívá do šablon appky zda tam není šablona pro ní a pokud ne tak šáhne k sobě?
- Vojtěch Dobeš
- Gold Partner | 1316
Přenášet pro aplikaci specifickou komponentu jinam asi opravdu nedává smysl. Jinak ale jednoznačně doporučuju napsat komponentu. Pokud se má vykreslovat více způsoby, můžete k tomu otestovat tento doplněk, který řeší nekompatibilitu více vykreslovacích módů komponent s Ajaxem.
- Jiří Nápravník
- Člen | 710
akadlec: jj, k tomu jsem taky dospel, ze budu mit nejaky vychozi a paks e podivam, ejslti neni nejaka jina cest nastavena treba appmodule
vojtech.dobes: to vypadá dobře, díky za tip. Nicméně tentokrát jsem zatím zvolil nastavení „zvenku“, přijde mi to čistší, ale tohle se určitě taky hodí někdy.
Edit: I když teď jak na to koukám, tak tohle řeší něco trochu jinýho a to je jinou renderMetodu to asi nijak neřeší, to, když tam chci předat argument, pro render metodu ne?
Editoval Jiří Nápravník (11. 4. 2014 14:32)