Zend Paginator avec Smarty
Après avoir galérer sur le sujet, je fais partager ma recherche.
Partie Controleur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public function listeclientafficherAction()
{
$this->listerclientAfficher($tableauUtilisateur);
}
private function listerclientAfficher($tableau)
{
$idPage = $this->_getParam('page');
if($idPage =='')
$idPage = 1;
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($tableau));
$paginator->setItemCountPerPage(5);
$paginator->setCurrentPageNumber($idPage);
Zend_Paginator::setDefaultScrollingStyle('Sliding');
$this->view->paginator= $paginator;
$this->view->pages = $paginator->getPages();
} |
Partie Vue
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<TABLE>
<tr class="enteteTableau">
<td ><b>Id </b></td>
<td ><b>Nom</b></td>
<td ><b>Prénom</b></td>
</tr>
{foreach from=$paginator item=utilisateur name=iterationUtilisateur }
{if $smarty.foreach.iterationUtilisateur.iteration % 2 == 0}
<tr class="even">
{else}
<tr class="odd">
{/if}
<TD>{$utilisateur->getId()}</TD>
<TD>{$utilisateur->getNom()}</TD>
<TD>{$utilisateur->getPrenom()}</TD>
</TR>
{/foreach}
</TABLE>
<br>
<div id="divPaginationControl">
{if ($pages->pageCount)}
<!-- Lien vers la page précédente -->
{if ($pages->previous)}
<a href="{$baseUrl}/utilisateur/listeclientafficher?page={$pages->previous}">< Précédent</a> |
{else}
<span class="disabled">< Précédent</span> |
{/if}
<!-- listes des liens des Numéros de pages -->
{foreach item=page from=$pages->pagesInRange }
{if ($page != $pages->current)}
<a href="{$baseUrl}/utilisateur/listeclientafficher?page={$page}">{$page}</a> |
{else}
<span class="current">{$page}</span> |
{/if}
{/foreach}
<!-- Lien vers la page suivante -->
{if ($pages->next)}
<a href="{$baseUrl}/utilisateur/listeclientafficher?page={$pages->next}">Suivant ></a>
{else}
<span class="disabled">Suivant ></span>
{/if}
{/if}
</div>
</div> |