Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je n'arrive pas à afficher ma vue pour la paginator, erreur : "Zend\View\Renderer\PhpRenderer::render: Unable to render template "application/paginator.phtml"; resolver could not resolve to a file "
Dans mon controller :
[lang=php] //On définit la vue du paginator PaginationControl::setDefaultViewPartial('application/paginator.phtml'); //Creation du paginator pour le resultat $PaginatorAdapterIterator = new PaginatorAdapterIterator($resultat); $paginator = new Paginator($PaginatorAdapterIterator); ... $view = new viewModel(); $view->setVariable('form',$form) ->setVariable('view',$this->_view) ->setVariable('paginator',$paginator); return $view;
Dans ma vue
[lang=php]echo $this->paginator;
Le fichier paginator.phtml est dans le dossier view/application/paginator.phtml
Je vois pas ce que loupe.
Dernière modification par J0r (22-11-2012 14:21:08)
Hors ligne
Hello.
Dans le controller.
[lang=php] //$results = liste retournée sur la page demandée (par requête sql...) //$totalResults = count de l'ensemble des résultats $paginator = ''; if (!empty($results) && !empty($totalResults )) { //ajouts de vérifications possibles ($page, $countPerPage) $paginator = new Paginator(new ArrayAdapter(range(1, $totalResults))); $paginator->setItemCountPerPage($countPerPage)->setCurrentPageNumber($page); }
Dans la vue.
[lang=php] if (!empty($this->paginator) && is_object($this->paginator)) { echo ($this->paginator->getTotalItemCount() > $this->paginator->getItemCountPerPage()) ? $this->paginationControl($this->paginator, 'Sliding', 'application/paginator.phtml' : ""; }
Dernière modification par Bouks (21-11-2012 17:35:28)
Hors ligne
Ça marche parfaitement merci, en faite ce qui est marqué dans la doc de Zend ne fonctionne pas :
By setting the default view script name, default scrolling style, and view instance, you can eliminate the calls to PaginationControl completely:
Code:
[lang=php]Zend\Paginator\Paginator::setDefaultScrollingStyle('Sliding'); Zend\View\Helper\PaginationControl::setDefaultViewPartial( 'my_pagination_control' );When all of these values are set, you can render the pagination control inside your view script with a simple echo statement:
Code:
[lang=php]<?php echo $this->paginator; ?>
Hors ligne