#1 14. 3. 2010 12:44

i.magine
Člen
Registrovaný: 13. 12. 2009
Příspěvky: 73

Řazení, signály, best practice

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

Offline

 

#2 14. 3. 2010 21:22

Ondřej Mirtes
Moderator
Místo: Praha
Registrovaný: 8. 1. 2009
Příspěvky: 1357
Web

Re: Řazení, signály, best practice

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.

Offline

 

#3 14. 3. 2010 22:43

i.magine
Člen
Registrovaný: 13. 12. 2009
Příspěvky: 73

Re: Řazení, signály, best practice

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

Offline

 

Zápatí