Empfehlungen: Erweiterte Suche

paginate conditions

Ausgabedaten formatieren und darstellen

paginate conditions

Beitragvon sebbo.cake » Mo 10. Okt 2011, 14:05

Hallo liebe Gemeinde,

ich habe ein Problem: Ich habe eine Eventdatenbank die ich mir mit folgendem Code an die view übergebe:

Code: Alles auswählen

$this->Date->recursive = 1;
       
    $this->paginate['conditions'] = 'Date.day >= CURDATE()';
    $this->paginate['order'] = 'Date.day DESC';
    $this->paginate['limit'] = 20;

$this->set('dates', $this->paginate());
 


Nun möchte ich allerdings in der view die Möglichkeit haben anzuklicken: beendete Events / aktuelle events.
Derzeit werden mir die aktuellen events angezeigt, aber wie kann ich dem Kuchen sagen, dass ich die vergangenen haben möchte ohne eine extra view zu bauen? Kann man die Conditions im view direkt ändern wenn ich die Daten im Controller ohne Datumsabfrage bereitstelle? Also so:

Code: Alles auswählen

$this->Date->recursive = 1;
       
    $this->paginate['order'] = 'Date.day DESC';
    $this->paginate['limit'] = 20;

$this->set('dates', $this->paginate());
 
sebbo.cake
 
Beiträge: 16
Registriert: Mi 11. Mai 2011, 13:31

Re: paginate conditions

Beitragvon euromark » Mo 10. Okt 2011, 15:02

es gibt mehrere möglichkeiten
quick and dirty solutions oder etwas schönere wie z.b. mit einem filter/search plugin:

https://github.com/josegonzalez/cakephp-filter-plugin
oder
http://cakedc.com/downloads/view/cakephp_search_plugin
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: paginate conditions

Beitragvon sebbo.cake » Mo 10. Okt 2011, 15:38

Danke euromark,

aber gibts denn nicht ne simple, von Cake bereits mitgelieferte Funktion?
Dachte da an sowas wie

Code: Alles auswählen
<?php echo $this->Paginator->sort('Name','name', array('conditions' => 'Irgendwas'));?>


im view.
sebbo.cake
 
Beiträge: 16
Registriert: Mi 11. Mai 2011, 13:31

Re: paginate conditions

Beitragvon Jörg » Mo 10. Okt 2011, 19:08

Hi,

am einfachsten fragst du die GET-Parameter (via $this->params) im Controller ab und änderst dementsprechend deine Conditions.

Code: Alles auswählen
if($this->params['named']['dateKey'] == '...') { ....}
Jörg
 
Beiträge: 132
Registriert: Di 13. Mai 2008, 13:45
Wohnort: Bremen
CakePHP-Version: 2.0.3, 1.3.x
OS: Win7/Ubuntu


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast