Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-01-2009 14:13:15

bidule
Nouveau membre
Date d'inscription: 19-01-2009
Messages: 4

problème paginator

Bonjour,

J'ai lu différents tutoriaux sur l'utilisation de la classe Zend_Paginator, j'ai copié et adapté le code des tutoriaux, mais je n'arrive pas à transmettre l'instance de la classe Zend_Paginator à la vue... cela lève l'exception suivante:

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'No paginator instance provided or incorrect type' in D:\Applis\Inetsrv\ApplisZend\PepperPortal\library\Zend\View\Helper\PaginationControl.php:99 Stack trace: #0 [internal function]: Zend_View_Helper_PaginationControl->paginationControl(NULL, 'Sliding', 'patials/search-...') #1 D:\Applis\Inetsrv\ApplisZend\PepperPortal\library\Zend\View\Abstract.php(318): call_user_func_array(Array, Array) #2 [internal function]: Zend_View_Abstract->__call('paginationContr...', Array) #3 D:\Applis\Inetsrv\ApplisZend\PepperPortal\application\default\views\scripts\partials\body_resource_bis(2).phtml(44): Zend_View->paginationControl(NULL, 'Sliding', 'patials/search-...') #4 D:\Applis\Inetsrv\ApplisZend\PepperPortal\library\Zend\View.php(107): include('D:\Applis\Inets...') #5 D:\Applis\Inetsrv\ApplisZend\PepperPortal\library\Zend\View\Abstract.php(787): Zend_View->_run('D:\Applis\Inets...') #6 D:\Applis\Inetsrv\ApplisZend\PepperPortal\application\default\views\scripts\index\i in D:\Applis\Inetsrv\ApplisZend\PepperPortal\library\Zend\View\Helper\PaginationControl.php on line 99

pourtant, j'ai bien suivi les étapes trouvées dans les tutoriaux, dans mon contrôleur j'ai mis :

Code:

  $selectObject = $this->getSearchModel()->selectPaginatedSearch($i, $operators, $field_names, $search_values);
  //
  $paginator = Zend_Paginator::factory($selectObject);
  //
  Zend_View_Helper_PaginationControl::setView($this->view);
  //
  $paginator->setCurrentPageNumber($this->getRequest()->getParam('page_number', 1));
  //
  $paginator->setItemCountPerPage($this->getRequest()->getParam('per_page', 50));
  //
  $this->view->paginator = $paginator;

dans ma vue (patiel de vue), j'ai mis :

Code:

<table>
  <tr>
    <th>
       <?php echo $this->paginationControl($this->paginator, 'Sliding', 'patials/search-pagination.phtml'); ?>
    </th>
    [...]
  </tr>
  <?php foreach ($this->paginator as $row) : ?>
  <tr>
    <td>
       <a href="myURL" [...] >
       <?php echo ($row['colName']); ?>
       </a>
    </td>
    [...]
  </tr>
  <?php endforeach; ?>
</table>

et dans le partiel 'search-pagination.phtml', j'ai mis :

Code:

 <?php if ($this->pageCount) : ?>
  <div class="pagination" >
  <?php if (isset($this->previous)) : ?>
    <a href="<?php echo ($this->url(array('page' => $this->previous))); ?>">&laquo; Prev</a> - 
  <?php endif; ?>
  <?php // Page Links
      foreach ($this->pageInRange as $page) : ?>
    <a href="<?php echo ($this->url(array('page' => $page))); ?>" <?php if ($page == $this->current) : ?> id="selected" >
  <?php endif; 
        echo ($page); ?>
    </a>
  <?php endforeach; ?>

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

Si quelqu'un avait une idée pour me débloquer ?...

P.S.: j'ai même essayé d'assigner l'objet '$paginator' du contrôller avec 1 '$this->view->assign('paginator', $paginator', mais cela ne marche pas mieux. Et la version de Zend que j'utilise est la 1.7.2 (cela fait pareil avec la 1.6.2)

Hors ligne

 

#2 19-01-2009 14:26:02

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: problème paginator

Salut,


Si tu essaies en retirant cette ligne :

Code:

Zend_View_Helper_PaginationControl::setView($this->view);

??


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#3 19-01-2009 14:44:23

bidule
Nouveau membre
Date d'inscription: 19-01-2009
Messages: 4

Re: problème paginator

malheureusement, cela ne change rien, merci tout de même pour ton aide... :-(

Hors ligne

 

#4 19-01-2009 15:01:11

bidule
Nouveau membre
Date d'inscription: 19-01-2009
Messages: 4

Re: problème paginator

j'irais même plus loin, si je ne met pas la ligne :

Code:

Zend_View_Helper_PaginationControl::setView($this->view);

cela ne fonctionne pas non plus, et là l'exception me dit que le view helper 'paginationControl' n'est pas 'registered'... :-(

Si quekqu'un a déjà rencontré le problème, cela m'arrangerais parce que là je suis totalement bloqué, et je ne vois vraiement pas comment m'en sortir... J'ai même essayé de transmettre l'objet paginator via la Registry, et c'est la même, il n'arrive pas à retrouver l'instance de l'objet...

Hors ligne

 

#5 19-01-2009 15:10:26

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: problème paginator

Et sinon tu es sûr que ton $selectObject est bon ? tu as essayé de le tracer pour voir ce qu'il y a dedans ?

Tu as peut-être une erreur ailleurs.

Par ce qu'on peut voir dans l'erreur qu'il ne reçoit pas d'objet paginator mais NULL :

Code:

Zend_View_Helper_PaginationControl->paginationControl(NULL, 'Sliding', 'patials/search-...')

http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#6 19-01-2009 15:27:08

bidule
Nouveau membre
Date d'inscription: 19-01-2009
Messages: 4

Re: problème paginator

ça y est, j'ai résolu le problème, merci tout de même pour votre aide, je n'avais en fait pas suffisemment différencié mon code de vue, et je cherchais à utiliser le paginator sur une action pour laquelle elle n'était pas activée.
maintenant cela fonctionne prèsque, j'ai encore un bug dans mon partiel d'affichage du contrôle de pagination, mais je pense que je vais trouver...

Merci encore à vous pour votre aide...

@++ bidule ;-)

Hors ligne

 

#7 24-08-2010 13:52:55

guice11
Membre
Date d'inscription: 17-07-2010
Messages: 30

Re: problème paginator

Comment as tu fais "bidule" ?

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