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