Odkaz na metodu presenteru s parametrem
- Majzlik
- Člen | 5
Zdravím,
s Nette začínám a řeším, jak udělat prohlížení obsahu databáze. Mám
vytvořený formulář, který zobrazuje úsek seřazené databáze (podle data)
a chci se v databázi pohybovat dopředu/dozadu. Obsah mi zobrazuje metoda
v presenteru a já řeším, odkud volat stejnou metodu znovu, akorát
s parametrem (jiné datum, od kterého se zobrazí výsek databáze).
Něco ve smyslu:
createForm($input_date){
vytvoř formulář, který zobrazí n položek databáze od data $input_date
}
a v šabloně
odkaž na presenter:metoda(parametr)
Lze to takhle vůbec udělat nebo je chyba už v návrhu?
Díky,
Majzlik
Editoval Majzlik (21. 9. 2015 23:51)
- johnnie
- Člen | 54
Odosielanie parametru do presenteru sa da jednoducho
<a n:href="Presenter:metoda $parameter">Odkaz</a>
Pise sa o tom v dokumentacii, Odporucam nastudovat celu stranku co som ti
poslal nizsie.
Odporucam aj tieto sekcie pre tvoj vyvoj :
Životní
cyklus presenteru
Persistentní
parametry
Editoval johnnie (22. 9. 2015 9:19)
- Majzlik
- Člen | 5
Díky moc, tuhle stránku už jsem projížděl, ale nejspíš jsem byl nepozorný a přehlédl část o persistentních parametrech. To je přesně to, co hledám, ale nejspíš dělám něco špatně, protože nevím, jak k němu v šabloně přistoupit. Když to zkouším přes:
{$chosen_date}
tak to hlásí, že proměnná není definována. Přitom v URL vidím:
?chosen_date=2015-09-22
- Pavel Kravčík
- Člen | 1196
Parametr přijmeš v presenteru z URL. Do šablony si ho musíš poslat.
Třeba takto:
public function actionDefault($chosen_date)
{
$this->template->chosen_date = $chosen_date;
}
Doporučil bych projet quickstart. Tam to určitě bude popsané srozumitelně. https://doc.nette.org/cs/quickstart