Generování odkazů s proměnnou pro redirect
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Wailey
- Člen | 48
Ahoj,
jak mám vygenerovat odkaz pro
$router[] = new Route('admin/<action>[/<group>][/<id>]', "Admin:default");
pro přesměrování na „Admin:shop“/<group>
url by měla vypadat %domain%/admin/shop/group
zkoušel jsem
$this->presenter->redirect("Admin:shop", $this->presenter->group);
Pořád mi to hází chybu, ať to udělám jakkoliv.
Díky za jakoukoli radu
- Filip Procházka
- Moderator | 4668
Buďto jako
$this->presenter->redirect("Admin:shop", ['group' => $this->presenter->group]);
nebo si v tom presenteru vytvoříš parametry v akci
public function actionShop($group, $id = NULL)
{
a pak Nette bude vědět, že ten první předanej argument (pokud
nepředáváš asociativní pole) tak se má jmenovat group
. Pak
bude fungovat i
$this->presenter->redirect("Admin:shop", $this->presenter->group);
Btw, když máš víc volitelných argumentů, měl bys omezit jaké hodnoty se do nich dostanou, jinak nemůžeš vědět který se použije
$router[] = new Route('admin/<action>[/<group \w+>][/<id \d+>]', "Admin:default");
třeba takto