Šablony – podmíněný výpis – helper, makro, něco jiného?
- Jiří Nápravník
- Člen | 710
Mám dva datumy v šabloně, pokud budou ty datumy z jednoho dne, chci je nějak označit a vypsat s označením DNES, když jsou o jeden den, tak označit zase jinak a vypsat k tomu zítra. Pokud není ani jedna podmínka splněna, tak se nic nevypíše?
Jak to řešit? Je to vhodné na vlastní makro či helper? Kdy vlastně se má použít helper a kdy makro?
Helper taky často jenom přeformátuje to co dostane na vstupu. Může vubec vzít a někdy nevrátit nic, někdy zase trochu toho „html balastu“.
Jinak ano, jde to vzít a opodmínkovat to přímo v latte, ale myslím, že je lepší to oddělit někam, už jenom kvůli znovupoužitelnosti.
- Majkl578
- Moderator | 1364
Myslím, že se na to moc nehodí ani jedno, spíš bych si udělal nějakou
třídu s metodou, která to dokáže zjistit. Buď vracet nějaký set stavů
nebo různé metody pro různé varianty (isDaySame
apod.).
Jinak co se maker a helperů týče. Helpery slouží spíš k formátování výstupu, je to jedna prostá metoda někde. Naopak makra jsou spíš komplexní compile-time transformace vstupu na nějaký PHP/HTML snippet.
- Mesiah
- Člen | 240
Jiří Nápravník napsal(a):
Výborná otázka!
Majkl578 napsal(a):
Výborná odpověď!
Šel bych cestou makra. :) Když se člověk zamyslí i nad zápisem, už na
pohled mu přijde více zvláštní zápis
{$dateOne|compareDateHelper:$dateTwo}
oproti
{compareDateMakro $dateOne, $dateTwo}
, mimoto
{control abc}
, {form xyz}
ve výsletku taky generují
PHP+HTML fragmenty…
Editoval Mesiah (22. 1. 2014 1:41)