Affichage de plus de 42 tags classés par alpha

Bonjour,

Quand j'indique 43 ou plus et alpha pour tagList:

<?php $plxShow->tagList('<li class="tag #tag_size"><a class="#tag_status" href="#tag_url" title="#tag_name">#tag_name</a></li>', 100, 'alpha'); ?>

curieusement, les 42 "premiers" tags sont bien dans l'ordre alpha, mais à partir du 43ème terme, s'affiche une nouvelle liste de tags toujours classés dans l'ordre alpha, mais qui auraient pu-du s'afficher avant, enfin je crois.

Exemple en live ici ou en image (pas de chance c'est le tag WordPress le 42ème) :

Bref, je ne vois pas ce qui cloche. D'autres que moi arrivent à voir / reproduire le phénomène ? Des pistes de solution ?

Mots clés:

Réponses

  • bazooka07bazooka07 PluXml Project Manager

    A priori, il n'y a pas de limite pour s'arrêter au 42ème tag.

    As-tu des articles désactivés ? Ton serveur donne la bonne date ? Pas d'article post-datés ?

    Si tu peux donner un lien de téléchargement pour ton fichier data/configurationstags.xml, je peux jeter un oeil.

  • GzygGzyg Member
    mars 2020 modifié

    Salut,

    C'est juste que l'ordre d'affichage par défaut prend d'abord les chiffres, puis les majuscules, puis les minuscules, puis les lettres accentuées.

    Il faut en passer par les "regex" pour améliorer cet affichage (cf bazooka7, grand spécialiste des "regex" sur ce forum).

  • bazooka07bazooka07 PluXml Project Manager

    Pour régler le conflit minuscules/majuscules, cela se règle simplement avec la fonction PHP strcasecmp() dans le fichier core/lib/class.plx.show.php pour la fonction plxShow::tagList() vers la ligne #1771 :

    # tri des tags
    switch($order) {
       case 'alpha':
           # Le tri alpha se fait sur la clé
           uksort(
               $counters,
               function($a, $b) {
                   return strcasecmp($a, $b);
               }
           ); # éventuellement uksort pour tri spécifique sur $tag
           break;
       case 'random':
    .........
    

    Par contre des tags comme "pluxml", "PluXml" et "Pluxml" ne fusionneront pas. A l'utilisateur de choisir correctement dans la liste de tags pendant l'édition de l'article.

  • Whouaaa :-)

    Et ça maaarche !

    Et puis je ne m'attendais pas à une réponse aussi rapide, précise, efficace, merci beaucoup @Gzyg et @bazooka07

  • Pour info, le code indiqué plus haut par @bazooka07 est toujours opérationnel.

    • PluXml version 5.8.9 (encodage UTF-8)
    • Version de PHP : 8.1.18
    • LiteSpeed
Connectez-vous ou Inscrivez-vous pour répondre.