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

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

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

Wailey
Člen | 48
+
0
-

Super, už to funguje, díky :)