Odkaz na metodu presenteru s parametrem

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Majzlik
Člen | 5
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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

Majzlik
Člen | 5
+
0
-

Díky moc. Jednou jsem ho už prošel, tak jsem to zkusil znovu a přišel na to, že mám zmatek v render/ action/ etc. Ještě jednou díky.