Pristup ke konkretnimu indexu v sablone
- porosmar
- Člen | 2
Ahoj, v prezenteru si posilam do sablony data z databaze (seznam filmu)
public function beforeRender()
{
$this->template->films = $this->filmsRepository->findAll()->order('name DESC');
}
V sablone bych potreboval pritupovat jen k urcitym indexum, ovsem netusim jak. Hranate zavory jako pri praci s polem nefunguji.
{var $i = 1}
{foreach [A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z] as $letter}
{var $temp = false}
{while substr(films[$i]->name,0,1)==$letter}
something...
{var $i++}
{/while}
something...
</li>
{/foreach}
Opravdu netusim jak pristoupim jen k urcitym radkum z dat z db. Dekuji
- Petr Hudík
- Člen | 49
Pokud potřebuješ vypsat seznam rozdělený na písmena abecedy, tak řešením by mohlo být normálně vypsat všechny řádky z db a v případě, že se změní první písmeno, tak ho vypsat.
Editoval Petr Hudík (6. 2. 2013 20:54)
- porosmar
- Člen | 2
Takhle to ± resim, akorat to mam pro vypis v menu, najede se na pismeno a rozeve se seznam danych filmu. Mam pole pismen a serazeny seznam filmu. Vypisu pismeno a zacnu projizdet seznam filmu a vypisuju je. Jakmile se zmeni prvni pismeno filmu tak vypisu nove pismeno a seznam zacnu projizdet od pozice kde jsem zkoncil (proto hledam to prime adresovani).
- hAssassin
- Člen | 293
moc te nechapu jak to mas, ale ten vypis, co jsi uvadel v prvnim prispevku normalne funguje. Ale asi bych na to sel od lesa (rozumej od prezenteru). Primo v akci bych si ty data vytahnul ne do pole, ale uz bych si je ulozil do slovniku, kde klicem bude pocatecni pismeno filmu a hodnotou pak pole filmu zacinajicich na to pismeno. Foreach v sablone pak uz bude easy a bude pekne razeny a odpadne hafo testu a substr (sice je budes muset udelat ale tak kam patri, v prezenteru).