Bonjour tout le monde,
Je suis entrain de développer un site web des annonces avec cakePHP 2.<br/><br/>
J'ai mon filtre de recherche qui est opérationnel. J'affiche la liste des annonces en mettant les annonces urgentes en dessus de la liste , j'aimerai bien faire un système de tri avec Paginate de CAKEPHP en gardant ces annonce urgentes en dessus quelques soit les critères de tri. <br/><br/>
NB : les annonces qui ont le champs urgent egal à 1 sont les annonces urgentes.<br/><br/>
Merci pour votre Aide

4 réponses


Arkantos
Réponse acceptée

Bonjour,

Pourquoi ne pas simplement faire deux requêtes dans ton controller :

  • Une où tu récupères uniquement les annonces urgentes (find normal)
  • L'autre où tu récupères uniquement les annonces non-urgentes (find pour paginate)

Ensuite, côté vue, tu affiches d'abord les annonces urgentes en haut, puis tu fais un paginate sur les annonces non-urgentes, de telle manière à ce que les annonces ugentes restent toujours en haut car elles ne seront pas influencées par le paginate.

En espérant avoir pu t'aider,
Arkantos

Bonjour,

Pourquoi ne pas rajouter un "ORDER BY urgent" manuellement dans l'array de ton paginate ?

$this->paginate['order']['urgent'] = 'DESC';
$annonces = $this->paginate();

Cela devrait faire l'affaire, non ?

Bonne soirée

lynxfg
Auteur

Merci Arkantos , Bonne idée ;)

Bonjour,
De rien. Content d'avoir pu t'aider. :)

Arkantos