Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-05-2013 09:30:10

Preacher
Nouveau membre
Date d'inscription: 29-05-2013
Messages: 1

Zend Paginator - setItemCountPerPAge

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

Code:

  

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.

Code:

</table>
<?php echo $this->paginator($this->paginator);?>

Merci d'avance,
N'hésitez pas s'il manque des éléments.

Hors ligne

 

#2 21-07-2013 15:37:59

ptitjib
Membre
Date d'inscription: 03-12-2009
Messages: 10

Re: Zend Paginator - setItemCountPerPAge

Bonjour,

Essaie plutôt de déclarer ton paginator avec la fabrique, comme suit:

Code:

   $paginator =  Zend_Paginator::factory($serviceMontant->compterMontant());
   $paginator              ->setItemCountPerPage(10)
                                ->setCurrentPageNumber($page)
                    ->setPageRange(5);
   $this->view->paginator = $paginator;

et dans index.phtml:

Code:

<?php echo $this->paginationControl($this->paginator, 'Sliding', 'pagination.phtml'); ?>

pagination.phtml dans le dossier ./views/scripts

Code:

<?php if ($this->pageCount): ?>
    <div class="paginationControl">
    <!-- Previous page link -->
    <?php if (isset($this->previous)): ?>
        <a class="precedent" href="#">&lt;</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="#">&gt;</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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages