/home/muszek

would you really like fries with that?

CakePHP: How To Remember Pagination Sort Order

I have a few internal sites that help me manage data. CakePHP's paginate() function is wonderful when it comes to getting functional tables with content quickly. The thing about watching paginated data is that I use it in a certain context - for example right now I'm looking at all my recipes sorted by creation date, because I want to edit some of those that I added in the second half of last year. The problem is that whenever I click on something other than links generated by this paginator (for example I edit one of the recipes) and then go back to the list, I have to set sorting again. Here's a short code that makes Cake remember in session how were my recipes sorted last time:

if(isset($this->params['named']['sort'])) { // user clicked on a "sort by" link, write his choice to the session
  $this->Session->write('recipes_sort',array($this->params['named']['sort']=>$this->params['named']['direction']));
}
elseif($this->Session->check('recipes_sort')) { // user has "saved" his sorting preference before
  $this->paginate['order'] = $this->Session->read('recipes_sort');
}

Drop it in your controller's action (for example recipes/index) before you call $this->paginate();.

Hi, a different solution

Hi, a different solution could be storing $this->referer() in edit actions.

regards
dz

 

My favorite bands

Pixies
Manu Chao
Bonobo
The White Stripes
Massive Attack
Archive
T.Love
Kult
Thievery Corporation
Hey
 

My favorite albums

Doolittle by Pixies
Surfer Rosa / Come on Pilgrim by Pixies
White Blood Cells by The White Stripes
Prymityw by T.Love
Mezzanine by Massive Attack
Controlling Crowds by Archive
The Singles Collection (disc 1) by David Bowie
Days to Come by Bonobo
Animal Magic by Bonobo
666.667 Club by Noir Désir
 

My favorite tracks

Hey by Pixies
Wave of Mutilation by Pixies
Here Comes Your Man by Pixies
Debaser by Pixies
I Bleed by Pixies
Dead by Pixies
Tame by Pixies
Intro by Bonobo
Monkey Gone to Heaven by Pixies
Gouge Away by Pixies
 

Tabbos

Free and open source software
Ubuntu
Debian
Geany
Last.fm
Digg
Slashdot
Wikipedia
Drupal
CakePHP
KS Cracovia Kraków
Free Tibet
Pixies
Massive Attack
The Clash
Air
Röyksopp
Thievery Corporation
Bonobo
Manu Chao
5'nizza
 

Recent comments