Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous, je débute sur Zend et je rencontre actuellement un soucis avec la pagination.
Sur l'index sur site, je récupère une liste de différents montants dans un tableau html, jusque là pas de problème.
Mais je souhaiterais limiter le nombre de lignes à 10 et c'est là que ça ne fonctionne pas.
Il m'affiche bien la pagination correspondante en dessous tu tableau, mais il ne limite pas les lignes à 10, il me liste tous mes enregistrements.
Le controller de l'index : indexController.php
public function indexAction() { $serviceMontant = new Model_Service_Compta_Scale(); // on recupere la page selectionnee $page = $this->_getParam('page', 1); if ((int) $page <= 0) { $page = 1; } //on liste les montants $montant = $serviceMontant->listerMontant($page); //Nombre de baremes $montantNombre = $serviceMontant->compterMontant(); // mise en place de la pagination $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($montantNombre)); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage(10); $this->view->paginator = $paginator; }
La page correspondante : index.html
Je met cette ligne juste en dessous de la fin du tableau.
</table> <?php echo $this->paginator($this->paginator);?>
Merci d'avance,
N'hésitez pas s'il manque des éléments.
Hors ligne
Bonjour,
Essaie plutôt de déclarer ton paginator avec la fabrique, comme suit:
$paginator = Zend_Paginator::factory($serviceMontant->compterMontant()); $paginator ->setItemCountPerPage(10) ->setCurrentPageNumber($page) ->setPageRange(5); $this->view->paginator = $paginator;
et dans index.phtml:
<?php echo $this->paginationControl($this->paginator, 'Sliding', 'pagination.phtml'); ?>
pagination.phtml dans le dossier ./views/scripts
<?php if ($this->pageCount): ?> <div class="paginationControl"> <!-- Previous page link --> <?php if (isset($this->previous)): ?> <a class="precedent" href="#"><</a> <?php endif; ?> <!-- Numbered page links --> <?php foreach ($this->pagesInRange as $page): ?> <?php if ($page != $this->current): ?> <a href="#"><?php echo $page; ?></a> <?php else: ?> <a class="current" href="#">"><?php echo $page; ?></a> <?php endif; ?> <?php endforeach; ?> <!-- Next page link --> <?php if (isset($this->next)): ?> <a class="suivant" href="#">></a> <?php endif; ?> </div> <?php endif; ?>
A toi de t'aider de l'helper Url en fonction de tes routes pour pointer vers la bonne page.
Espérant t'avoir aider,
JB
Hors ligne