Snippety – jak je používáte Mk II
- Vojtěch Dobeš
- Gold Partner | 1316
Nejprve bych odkázal původní vlákno od Davida, které klade důležitou otázku. Trochu se zaplevelilo, tak otevírám nové a rovnou se pokusím odpovědět na co nejvíce možností: „V jakých možných situacích lze použít snippety? V kombinaci s jakými makry apod.“?
Použití, co mě napadají:
- snippet v šabloně patřící k view (invalidace přímo
v presenteru
$this->invalidateControl('nameOfSnippet');
) - snippet v komponentě (invalidace na komponentě
$control->invalidateControl('nameOfSnippet');
) {include @foo.latte}
ve snippetu (očekávám vložení šablony stejně jako mimo snippet){include @foo.latte}
, kde vložená šablona obsahuje snippet (tento snippet by se měl při invalidaci chovat stejně jako by byl v šabloně patřící view- dynamické snippety
{snippet "nameOfSnippet$id"}
(invalidace$control->invalidateControl("nameOfSnippet$id");
, to samé i v presenteru) - invalidace snippetů skutečně ve všech komponentách, ve kterých je
metoda zavolána (narážka na
Multiplier
, ale nechci tu z toho dělat hlášení bugů, jen aby se s tím počítalo) - možnost libovolně používat různé způsoby renderu komponenty
(
{control foo} {control foo:bar}
atd.)
Pokud vás napadá použití, které jsem nezmínil, zkuste ho popsat.
Jednak aby se s nimi mohlo počítat při implementaci, jednak aby se případně došlo k závěru, že nejsou potřeba. Já osobně třeba nepotřebuji ze svých bodů 4 a 5, jen mě napadly jako známé feature requesty.
Editoval vojtech.dobes (16. 12. 2011 3:17)
- Vojtěch Dobeš
- Gold Partner | 1316
Proč mi nechybí 4:
Myslím, že snippet
je úzce provázaný s logikou, která ho
invaliduje. Inkludovanou šablonu vnímám jako něco, co mi umožňuje
znovupoužít kus HTML kódu. Proto jsem nikdy neměl potřebu do inkludované
šablony umisťovat snippet, stačil v hlavní šabloně (buď pro
view
nebo pro komponentu).
Proč mi nechybí 5:
Dynamické snippety lze podle mě mnohem elegantněji řešit skrze komponenty.
- 22
- Člen | 1478
Mám pocit, že právě bod 4 je předmětem bugu #160. To vysvětlení mi moc nesedí. Proč by kod, který je znovupoužitelný nemohl mít snippet? To je jako by jsi řekl, že do kus kodu, který se includuje, nikdy nepošleš proměnnou z presenteru. Ale fajn, vše se dá řešit komponentou a fakt, že snippet v includované šabloně nefunguje, se dá obejít, stačí akorát vědět, že to jaksi „nelogicky“ nefunguje a jak to udělat jinak.
Editoval 22 (16. 12. 2011 6:29)
- Vojtěch Dobeš
- Gold Partner | 1316
22 napsal(a):
Mám pocit, že právě bod 4 je předmětem bugu #160…
Cílem tohoto vlákna je hlavně dát do kupy požadované scénáře. Jestli jsem tě nepřesvědčil, tak to nechme na seznamu :). Já fakt netuším, jaké potřeby jsou a možnost mít snippet v inkludované šabloně mi obecně taky dává smysl (ačkoliv jsem to nikdy nepoužil).