[sfPager][sfFilter] Pagination et Filtre sur le Frontend
Bonjour,
j'ai fais une action qui liste les données de ma base de donnée. j'ai réussit à la paginer avec "sfDoctrinePager". Mais maintenant je souhaiterais appliquer un filtre sur cette liste.
J'ai utiliser le filtre généré par l'admin, ça fonctionne bien pour la première page.
Mais lorsque je souhaite passer à la deuxième page, je perds le filtrage.
Comment faire pour conserver le filtrage de page en page ?
voici le bout de code sans l'objet filtre.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public function executeList( sfWebRequest $request){
$this->pager = new sfDoctrinePager('Vehicule',15);
$this->obj = $this->getRoute()->getObject();
$q = Doctrine_Core::getTable('Vehicule')->createQuery('v')
->where('v.date_to >= ?',date('Y-m-d H:i:s',time()))
->orderBy('created_at DESC');
if('Categorie' == $nameClass = get_class($this->obj)){
$q->andWhere('categorie_id = ?', $this->obj->id);
$this->route = 'categorie';
}
elseif('Typeprestation' == $nameClass){
$q->andWhere('typeprestation_id = ?', $this->obj->id);
$this->route = 'prestation';
}
else{
throw new Exception('Class non définit');
}
// echo $q; exit;
$this->pager->setQuery($q);
$this->pager->setPage($request->getParameter('page', 1));
$this->pager->init();
//$this->vehicules = $this->getRoute()->getObject()->Vehicule;
} |
J'ai essayer plein de truc pour conserver le filtrage notamment en stockant les donnée du filtre dans l'objet user. Mais j'ai un autre soucis à ce moment là, il semblerait que ma requête post ne trouve pas la bonne "route" du coup je tombe sur une erreur 500.
Please help me ! :cry:
//EDIT
je rajoute ma route :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
categorie:
url: /categorie/:libelle/:id/*
class: sfDoctrineRoute
options: { model: Categorie, type: object }
param: { module: annonce, action: list }
sf_method: post
prestation:
url: /prestation/:libelle/:id/*
class: sfDoctrineRoute
options: { model: Typeprestation, type: object }
param: { module: annonce, action: list } |
Maintenant je m'y prends surment comme un manche pour faire ça. Donc s'il y a une meilleur façon je suis preneur.