Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Problème pagination module News
#12
Bonjour bonjour !

Mieux vaut tard que jamais : j'ai de quoi faire ça assez simplement à partir de la discussion du .org cité plus haut Smile
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 Big Grin

voili voilou,
il doit etre largement optimisable comme code, mais ça marche !
Wink


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}
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)