Nette redirect dodatočná koncovka

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

Zdravím,

mám takýto kód:

$this->redirect("Item:show",$itemId);

ktorý mi vygeneruje linku a presmeruje na:

/item/1

V mojom systéme mám ale tzv. subitemy, ktoré môžem pridávať už existujúcim itemom. Takže v premennej po potvrdení formuláru a úspešnom pridaní do databázy:

$newItemId

mám práve vytvorený item (ktorý si zisťujem pomocou database->getInsertId()) a do redirect linku by som potreboval na koniec pridať niečo ako #item-$newItemId

aby ma to pomocou funkcie redirect() presmerovalo na:

/item/1#item-2

Vopred ďakujem za každú pomoc.

Editoval Lukass445 (1. 11. 2014 22:41)

Zax
Člen | 370
+
+1
-

Nějak takto by to určitě mělo jít ;-)

$this->redirectUrl($this->link('Item:show', $itemId) . '#item-' . $newItemId);

Editoval Zax (1. 11. 2014 22:48)

Lukass445
Člen | 19
+
0
-

@Zax ďakujem za odpoveď, no nastala chyba -
Rozdelil som si to takto (chyba nastáva aj ak si to nerozdelím):

$basicLink = $this->link("Item:show",$itemId);

$this->redirect($basicLink.'#item-'.$newItemId);

z ladičky dostávam error:

Nette\Application\UI\InvalidLinkException

No route for Item:/item/27()

s vyznačeným riadkom:

$this->redirect($basicLink.'#item-'.$newItemId);

v $basicLink sa link vygeneruje správne, no ako keby bol problém s jeho spojením v redirecte

pozn. nefunguje, aj keď si celý link prepojím ešte pred jeho predaním ako parameter do fcie redirect()

Zax
Člen | 370
+
+1
-

Ne redirect, ale redirectUrl ;-)

Lukass445
Člen | 19
+
0
-

@Zax Ďakujem ešte raz teda a ospravedlňujem sa za nepozornosť :)

David Matějka
Moderator | 6445
+
+4
-

melo by jit

$this->redirect("Item:show#foo-bar", $itemId);