Jak vložit parametr do URL
- Croc
- Člen | 270
Zdravím, asi to bude hoooodně začátečnickej dotaz, ale opravdu jsem to nikde nenašel. Jak přidám parametr do URL a jak ho následně načtu?
<li><a n:href="User:page">Upravit</a></li>
<li><a n:href="User:page">Profil</a></li>
do daných odkazů potřebuju dát parametr, dle kterého poznám, z jakého odkazu se na danou stránku jde (na jednu šablonu).
- Pavel Kravčík
- Člen | 1196
https://doc.nette.org/…n/presenters#…
Použiješ čárku a pak v action můžeš použít jméno té proměnné jako parametr nebo si zavolat getParam().
n:href="User:page, jagr => 68"
public function actionDefault($jagr)
{
//nebo
$this->getParameter('jagr');
}
- Lukeluha
- Člen | 130
@kzk_cz: Myslím že to, cos napsal, mohlo začátečníka pěkně zmást :)
@Croc: ze všeho první by sis měl přečíst quickstart. Je to tutoriál krok za krokem, jak si napsat první aplikaci. Co se týče tvého dotazu, tak v tvém případě, pokud chceš volat presenter User a v ní action page, by kód vypadal takto.
V šabloně:
<a n:href="User:page pageId => 5">...</a>
A poté v presenteru:
class UserPresenter extends BasePresenter
{
public function actionPage($pageId)
{
echo $pageId; // v tomto pripade vypise 5
}
}
Existuje i druhý způsob, jak si načíst parametry v presenteru, zmiňoval jej @kzk_cz, ale pro tebe, jako pro začátečníka, je zbytečné tuto metodu používat. Bohatě si vystačíš s uváděním parametrů přímo v metodě. Tento způsob je navíc mnohem více používaný a intuitivnější.
Edit: díky za info o chybě @MichalVyšinský
Editoval Lukeluha (16. 6. 2015 16:17)
- Michal Vyšinský
- Člen | 608
@Lukeluha ten $ v odkazu tam být nemá – šablona by spadla na nedefinované proměnné
- Pavel Kravčík
- Člen | 1196
@Lukeluha: Croc už se tu ptal na složitější věci, takže myslím, že nasměrování mu pomůže víc, než kompletní řešení. :)