ok, mais comment passé ce paramètre ?
comme ceci :
MerciCode:$this->paginator->param = $param
Version imprimable
ok, mais comment passé ce paramètre ?
comme ceci :
MerciCode:$this->paginator->param = $param
je ne pense pas que 5h4rk voulait dire de passer ton paramètre à ton paginateur mais plutôt à ton url de ta page en cours. Ainsi, lors d'un changement de page, ton nouveau paramètre sera conservé dans ton url, et le numéro de ta page sera rajouté à la suite....
Si ça n'est pas le cas, 5h4rk peux-tu être plus explicite? ;)
ok c'est pas mal comme idée, mais comment modifier l'URL en cours ?
merci
je vais revenir sur ma première réponse et te dire que tu peux le rajouter à l'action de ton formulaire de recherche! :P
C'est bien à ce niveau là que tu mets à jour ton paramètre searchCom? Si oui tu le rajoute dans l'url définie par ton action....
ok, mais tu n'as pas du comprendre ce que j'ai dit ...
dans ma vue, j'ai un form qui contient juste mes zones de filtres, donc lui effecteivement possède un 'action'.
La partie de la vue qui affiche les données et contient le paginator, n'est pas dans un form, donc n'a pas d'action de paramétré ... donc je ne peux pas apporter la modification dont tu parles...
C'est bien dans ton form qui contient les zones de filtres qu'est défini le paramètre searchCom?
oui tout à fait, lui contient une URL dans action qui permet de prendre en compte le filtre...
le problème, c'est quand je clique sur '2' de mon paginator, lui ne prend pas en compte les éléments du form... avec les valeurs des filtres...
C'est normal qu'il ne prenne pas en compte ton paramètre étant donné qu'il provient de ton formulaire de recherche en POST. Quand tu passes à la page 2, perds tes données POST.
As-tu essayé au moins de rajouter ton paramètre dans l'url de ton action? Sinon tu peux tester de changer la méthode d'envoi de ton formulaire en GET???
quel 'action' ??
j'en ai que un dans mon vue, c'est celui du filtre ...
ensuite le paginator n'utilise pas d'action ... je suppose qu'il recharge la page en cours ... je ne trouve rien pour lui spécifier une URL particulière...
celui du filtre!
je ne peux pas changer celui du filtre...
voici ce que donne la paginator en html :
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
26
27
28
29
30
31
32
33
34
35
36 <div class="paginationControl"> <!-- Previous page link --> <a href="/dp/index/page/1">< Précédent</a> | <!-- Numbered page links --> <a href="/dp/index/page/1">1</a> | 2 | <a href="/dp/index/page/3">3</a> | <a href="/dp/index/page/4">4</a> | <a href="/dp/index/page/5">5</a> | <a href="/dp/index/page/6">6</a> | <a href="/dp/index/page/7">7</a> | <a href="/dp/index/page/8">8</a> | <a href="/dp/index/page/9">9</a> | <a href="/dp/index/page/10">10</a> | <!-- Next page link --> <a href="/dp/index/page/3">Suivant ></a> </div> en fait, il faudrait pouvoir modifier ces liens...
le seul moyen de modifier ces liens c'est de créer ton fichier pagination.phtml qui contrôle tes liens url!
oui c'est ce que je me suis dit et que je suis en train d'essayer...
merci
de rien et bon courage!
pour la suite, voici un lien d'un sujet du forum qui traite du passage de paramètres dans l'url via un paginateur:
http://www.developpez.net/forums/d84...arametre-lurl/
La réponse de chaby semble correspondre à ton problème!
en espérant que ça puisse t'aider....
je comprends pas, mes paramètres passent pas comme dans l'exemple ...
dans mon controller :
dans ma vue :Code:
1
2
3
4
5 $paginator = Zend_Paginator::factory($select); $paginator->setItemCountPerPage(15); $paginator->setCurrentPageNumber($page); $paginator->page = $page; $this->view->paginator = $paginator;
dans mon paginator.phtml :Code:echo $this->paginationControl($this->paginator, 'Elastic', 'dp/paginator.phtml');
une explication ??Code:
1
2
3
4
5
6 <div class="paginationControl"> <!-- Previous page link --> <?php print_r($this->page); </div>
merci
je trouve que ton fichier paginator.phtml est un peu vide???
si tu reprends ce qui est fait dans l'exemple fourni dans le forum, tu vois bien qu'il faut rajouter ton paramètre à chacun des liens de ta barre de pagination (next/previous..).
Toi tu ne fais qu'un "print_r($this->page)", tu n'agis pas sur tes liens????
bonjour,
évidemment, je n'avais mis que la partie qui posait problème...
en recommançant avec la tête reposée ce matin... j'ai réussi... j'ai trouvée mon erreur.
Merci pour ton aide
Je t'en prie!
C'est bon de prendre une pause dès fois!
N'oublie pas de le noter comme résolu
Oui oui, ne t'inquiètes pas...
j'ai toujours l'habitude de marquer [RESOLU] mes sujets qu'ils le sont... j'attends juste de l'avoir terminé et validé...
merci.