V jakém presenteru vybrat data z db, aby byla dostupná všude
- charlie.v
- Člen | 20
Ahoj, snažil jsem se to někde najít, ale marně.
V @layout.latte mám jeden div, který je těsně pod menu a vypisuje
aktuální top nabídky. V jakém presenteru bych měl provést dotaz do db,
abych měl příslušnou proměnnou pro foreach dostupnou v každé šabloně?
Momentálně to mám samozřejmě špatně v Homepage:default, takže
jakákoliv jiná šablona (kterou obsluhuje jiný presenter) vypíše
„Undefined variable: nabidky“.
Děkuji moc!
K.
- Šaman
- Člen | 2666
Obecně platí taková nepřesná, ale pro začátek postačující poučka.
Proměnné, které potřebuješ v @layout.latte
plníš
v BasePresenteru v metodě beforeRender()
.
V koncových presenterech metodu beforeRender()
pokud možno
nepoužívej, jinak v ní musíš zavolat i
parent::beforeRender()
.
Jinak komponenta je ve většině případů lepší řešení, ale jestli teprve začínáš, tak se ke komponentám prokopeš časem. Stejně tak časem začneš používat model a nebudeš tahat data z databáze přímo v presenterech.
Editoval Šaman (11. 1. 2015 17:30)