Řazení, signály, best practice

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

Teď řeším takový problém … ne že by mi to nefungovalo, ale hodila by se nějaká best practice.

Mám dva persistentní parametry, podle kterých řadím:

/** @persistent **/
 public $group=0;
 /** @persistent **/
 public $sort=1;

A v šabloně pak volám něco jako tohle:

{link default, 'sort'=>1}

Všechno funguje jak má, ale čistě teoreticky co kdybych chtěl zjistit kdy se mi mění například sort? Píšu to kvůli ajaxu.

Například mám řadu odkazů které mění group, takže když změním group chtěl bych invalidovat jenom určité snippety, pak mám zase řadu odkazů, které mění sort a ty mají zase invalidovat jiné snippety.

Jasně nabízejí se signály a něco ve tvaru:

{link changeSort!, 1}

Jenomže na zdrojáku v seriálu o nette se píše, že po signálu by měl následovat vždy redirect (u Ajaxu se teda redirect vypíná, ale u normálního požadavku zase jo)
Navíc by to bylo ve stylu:

changeSort->změní se řazení->redirect na stavovou stránku se změněným řazením

takže by to bylo podle mě až zbytečně zdlouhavý a navíc matoucí pro návštevníka…

Jak byste to tedy řešili vy? Jde mi o čisté řešení.

Díky

Ondřej Mirtes
Člen | 1536
+
0
-

Pozor! Redirect musí proběhnout jen tehdy, pokud se mění stav serveru! (tzn. přihlásí se uživatel, smažeš položku apod.) Řazení je právě typický příklad, kdy redirect neprobíhá. Říká se tomu post/redirect/get, ale platí to i pokud měníš stav serveru pomocí GET metody :)

Řeší to tvůj problém? Zbytek dotazu jsem totiž moc nepochopil.

i.magine
Člen | 81
+
0
-

Aha.. nj tak to tam napsaný nebylo, díky.