| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="learning.paginator.together">
- <title>Assembler le tout</title>
- <para>
- Nous avons vu comment créer un objet Paginator, comment le rendre sur la page et aussi comment
- rendre les éléments de navigation au travers des pages. Dans cette section nous allons voir
- comment intégrer Paginator dans MVC.
- </para>
- <para>
- Dans les exemples qui suivent, nous allons ignorer une bonne pratique qu'est d'utiliser une
- couche de services (Service Layer) ceci dans le but de garder nos exemples concis et simples
- à comprendre. Lorsque vous manipulerez bien les couches de services, vous devriez pouvoir
- intégrer Paginator simplement et efficacement.
- </para>
- <para>
- Partons du contrôleur. L'application d'exemple est simple, et nous allons tout loger dans
- IndexController et IndexAction. Encore une fois ce choix est fait pour l'exemple, vous ne
- devriez pas utiliser les contrôleurs de cette façon.
- </para>
- <programlisting language="php"><![CDATA[
- class IndexController extends Zend_Controller_Action
- {
- public function indexAction()
- {
- // Configuration du script de navigation. Voyez le tutoriel sur le script
- // des éléments de contrôle de la pagination pour plus d'informations
- Zend_View_Helper_PaginationControl::setDefaultViewPartial('controls.phtml');
- // Cherchons une connection à une base depuis le registre
- $db = Zend_Registry::get('db');
- // Créons un objet select qui récupère des billets et les range par date de création descendante
- $select = $db->select()->from('posts')->sort('date_created DESC');
- // Créons un paginateur pour cette requête
- $paginator = Zend_Paginator::factory($select);
- // Nous lisons le numéro de page depuis la requête. Si le paramètre n'est pas précisé
- // la valeur 1 sera utilisée par défaut
- $paginator->setCurrentPageNumber($this->_getParam('page', 1));
- // Assignons enfin l'objet Paginator à notre vue
- $this->view->paginator = $paginator;
- }
- }
- ]]></programlisting>
- <para>
- Le script qui suit est index.phtml, le script de vue pour IndexController/indexAction par
- défaut. Gardons celui-ci simple : il utilisera le type de défilement par défaut.
- </para>
- <programlisting language="php"><![CDATA[
- <ul>
- <?php
- // Affiche le titre de chaque billet pour la page en cours
- foreach ($this->paginator as $item) {
- echo '<li>' . $item->title . '</li>';
- }
- ?>
- </ul>
- <?php echo $this->paginator; ?>
- ]]></programlisting>
- <para>
- Naviguez maintenant dans votre projet pour voir Paginator en action. Nous n''avons vu
- ici qu'une partie de l'utilisation et le manuel de référence vous en apprendra plus
- sur les possibilités de Zend_Paginator.
- </para>
- </sect1>
|