Componenta jak zmenit url

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

Zdravim,

resim nasledujici problem:

  1. mam Presenter:action ktera vykresli zaznamy se strankovanim (VisualPaginator komponenta dal VP)
  2. U kazdeho zaznamu je moznost nacist ajaxove editacni form

Problem je ze kdyz submitnu editacni form tak musim invalidovat cely snippet co obaluje vsechny zaznamy tedy i strankovani, tim padem mi se prekresly i komponenta VP a ta v tu chvili vykresli URL dle action z formulare

a to protoze strankovani se vykresluje pomoci makra

{link this, 'page' => $step}

Otazka tedy zni jak zmenit URL aby komponenta ukazovala na Presenter:action … komponente umim podstrict Presenter:action … ale kdyz upravim

{link $destination, 'page' => $step}

tak to rve ze komponentra Presenter neexistuje … a kdyz pouziji

{plink $destination, 'page' => $step}

tak sice je URL u strankovani ok, ale nefunguje protoze componenta nezpracuje parametr page >:(

Editoval Kurtas (8. 8. 2012 12:44)

Jan Mikeš
Člen | 771
+
0
-

Zkus

{plink $destination, array('page' => $step)}

Pripane me napada jeste jedno ale mene pekne reseni a to:

$link = $presenter->link($destination, array('page' => $step));
<a href="{$link}">Bla</a>

Ale dle vseho by mela byt obe tato reseni totozna.

Editoval Lexi (8. 8. 2012 14:50)

duke
Člen | 650
+
0
-

Kurtas napsal:

{plink $destination, 'page' => $step}

tak sice je URL u strankovani ok, ale nefunguje protoze componenta nezpracuje parametr page >:(

Aby komponenta zpracovala parametr page, musí být v makru plink zadán jako „componentname-page“ a ne jako „page“ (kde componentname je jméno, pod kterým je komponenta zaregistrovaná v presenteru).

Kurtas
Člen | 109
+
0
-

Aby komponenta zpracovala parametr page, musí být v makru plink zadán jako „componentname-page“ a ne jako „page“ (kde componentname je jméno, pod kterým je komponenta zaregistrovaná v presenteru).

Díky Duke, to je ono – funguje!