Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-06-2009 17:28:13

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

[Résolu] Ma pagination marche... presque (short tags)

Bonjour,

j'ai implémenté aujourd'hui un petit script qui permet de paginer un jeu de données lambda. Le script semble marcher correctement à première vue :

Le jeu de données s'affiche correctement. Si je modifie le setItemCountPerPage ou le setCurrentPageNumber la modification est directement prise en compte. Le problème c'est que ma barre de navigation m'affiche ça à chaque itération :

< Previous |  1 |   |   |   |   |   Next > 

puis

< Previous  |    | 2 |   |   |   |   Next >

puis

< Previous  |    |  | 3  |   |   |   Next >

etc.

Les boutons previous et next marchent correctement. Comment faire obtenir une barre de navigation comme celle ci :

< Previous |  1 | 2 | 3  | 4  | 5  |   Next >


aka miboo

Hors ligne

 

#2 15-06-2009 17:29:22

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: [Résolu] Ma pagination marche... presque (short tags)

Voici les sources :



pagination.phtml (c/c de la documentation Zend. Peu importe le style utilisé, il y a des incohérences.)

<?php if ($this->pageCount): ?>
<div class="paginationControl">
<!-- Previous page link -->
<?php if (isset($this->previous)): ?>
  <a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
    &lt; Previous
  </a> |
<?php else: ?>
  <span class="disabled">&lt; Previous</span> |
<?php endif; ?>

<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
  <?php if ($page != $this->current): ?>
    <a href="<?php echo $this->url(array('page' => $page)); ?>">
        <?= $page; ?>
    </a> |
  <?php else: ?>
    <?php echo $page; ?> |
  <?php endif; ?>
<?php endforeach; ?>

<!-- Next page link -->
<?php if (isset($this->next)): ?>
  <a href="<?php echo $this->url(array('page' => $this->next)); ?>">
    Next &gt;
  </a>
<?php else: ?>
  <span class="disabled">Next &gt;</span>
<?php endif; ?>
</div>
<?php endif; ?>

IndexController.php

$news = new Model_DbTable_News();
$news = $news->getNews($this->_request->getParam('page', 1));
$this->view->news = $news;

News.php

class Model_DbTable_News extends Zend_Db_Table
{
    protected $_name = 'test';
    protected $_primary = 'test_id';

        public function getNews($page=1)
    {
        $query = $this->select();
       
        $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbTableSelect($query));
        $paginator->setItemCountPerPage(3);
        $paginator->setCurrentPageNumber($page);
        return $paginator;
    }

Dernière modification par miboo (15-06-2009 17:34:25)


aka miboo

Hors ligne

 

#3 15-06-2009 17:59:34

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu] Ma pagination marche... presque (short tags)

J'ai une idée con... tes short tags sont activés ?

Code:

<?= $page; ?>

est le seul endroit où tu utilises des short tags...

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 17-06-2009 11:32:55

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: [Résolu] Ma pagination marche... presque (short tags)

Nickel, ça marche impec'

Merci


aka miboo

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