13/05/2013, 19:24:28
Bonjour bonjour !
Mieux vaut tard que jamais : j'ai de quoi faire ça assez simplement à partir de la discussion du .org cité plus haut
Je me suis bien emm...bété avec cette pagination dont je n'ai trouvé aucune trace de semblant de tuto... J’espère que ça pourra toujours servir.
Rapidement :
Comme je n'ai pas eu connaissance d'une variable magique $urlpagenumX on est obligé de se baser sur les liens tout faits comme $nexturl.
Si le nombre d'article déclenche l'apparition d'une seconde page (ou plus) je regarde si la page actuelle est la dernière ou non.
Si c'est la dernière je me base sur $prevurl ($nexturl n'existe pas) sinon sur $nexturl. Je met tout ca dans $pageurl.
Là je sors une belle div pour ma pagination, une jolie boucle for pour aller de la page 1 à la page $pagecount (comptée dynamiquement du coup) et pour chaque itération un petit lien ou je remplace le paramètre "pagenumber=x" de $pageurl par "pagenumber=i" où i est ma variable incrémentée par la boucle.
J'ai rajouté un petit test avec des > et < autour de la page en cours pour le test : je vous laisse le plaisir de faire un beau css
voili voilou,
il doit etre largement optimisable comme code, mais ça marche !
Mieux vaut tard que jamais : j'ai de quoi faire ça assez simplement à partir de la discussion du .org cité plus haut
Je me suis bien emm...bété avec cette pagination dont je n'ai trouvé aucune trace de semblant de tuto... J’espère que ça pourra toujours servir.
Rapidement :
Comme je n'ai pas eu connaissance d'une variable magique $urlpagenumX on est obligé de se baser sur les liens tout faits comme $nexturl.
Si le nombre d'article déclenche l'apparition d'une seconde page (ou plus) je regarde si la page actuelle est la dernière ou non.
Si c'est la dernière je me base sur $prevurl ($nexturl n'existe pas) sinon sur $nexturl. Je met tout ca dans $pageurl.
Là je sors une belle div pour ma pagination, une jolie boucle for pour aller de la page 1 à la page $pagecount (comptée dynamiquement du coup) et pour chaque itération un petit lien ou je remplace le paramètre "pagenumber=x" de $pageurl par "pagenumber=i" où i est ma variable incrémentée par la boucle.
J'ai rajouté un petit test avec des > et < autour de la page en cours pour le test : je vous laisse le plaisir de faire un beau css
voili voilou,
il doit etre largement optimisable comme code, mais ça marche !
Code :
[== Indéfini ==]
{if $pagecount > 1}
{if $pagenumber == $pagecount}
{$pageurl="$prevurl"}
{else}
{$pageurl="$nexturl"}
{/if}
<div class="pager">
{for $numpage=1 to $pagecount}
{$pagestr="pagenumber=$numpage"}
<a href="{$pageurl|regex_replace:'/pagenumber=(\d+)/':$pagestr}">
{if $numpage == $pagenumber}
>{$numpage}<
{else}
{$numpage}
{/if}
</a>
{/for}
</div>
{/if}