Personnalisation du fichier sidebar.php

Bonjour à tous,

Je vous présente mon petit souci d'affichage présent avec Pluxml 4.3 et 4.3.1.
J'ai souhaité afficher le nombre d'article par catégories et un lien vers l'Accueil en début de liste...

J'ai appliqué la modification indiquée dans le Wiki http://wiki.pluxml.org/?page=Afficher%20le%20nombre%20d%27articles%20par%20cat%C3%A9gories

Lorsque je modifie le fichier sidebar.php comme ceci :

<?php $plxShow->catList('Accueil','<li id="#cat_id"><a href="#cat_url" class="#cat_status" title="#cat_name">#cat_name [#art_nb]</a></li>'); ?>

L'affichage donne cela :
Catégories
Accueil [#art_nb]
Nom de la catégorie 1
Nom de la catégorie 2
...

J'ai corrigé ce défaut d'affichage dans sidebar.php ainsi :

<ul>
<li>
<a href="./" title="Accueil">Accueil</a>
</li>
<?php $plxShow->catList('','<li id="#cat_id"><a href="#cat_url" class="#cat_status" title="#cat_name">#cat_name [#art_nb]</a></li>'); ?>
<li>

Y a t'il une autre manière d'y arriver ?

Cordialement,

Frank.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour S Frank

    Tu mets en avant un problème d'affichage que nous n'avions pas prévu (affichage de Accueil [#art_nb])
    On corrigera le problème dans la prochaine version
    En attendant ta méthode est la meilleure. Je n'en vois pas d'autres

    Merci

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • solution provisoire avant la sortie de la prochaine version :

    j'ai rajouté la fonction nbArtHome dans core/lib/class.plx.show.php

    function nbArtHome($format=" [#nb articles]") {

    # Initialisation
    $nb = 0;
    # Nouvel objet pour compter le nombre d'articles dans home
    $plxGlob_arts = new plxGlob(PLX_ROOT.$this->plxMotor->aConf);
    $plxGlob_arts->query('/^[0-9]{4}.home.(.+).xml$/');
    $nb = $plxGlob_arts->count;
    # On modifie nos motifs
    $txt = str_replace('#nb',$nb,$format);
    # On procède à l'affichage
    echo $txt;
    }

    et modifié la sidebar comme ceci :

    <li><h2>Catégories</h2>
    <ul>
    <li><a href="./" title="Accueil">Accueil<?php $plxShow->nbArtHome(); ?></a></li>
    <?php $plxShow->catList('','<li id="#cat_name"><a href="#cat_url" class="#cat_status" title="#cat_name">#cat_name [#art_nb articles]</a></li>'); ?>
    </ul>
    </li>

    si vous y voyez des améliorations n'hésitez pas
Connectez-vous ou Inscrivez-vous pour répondre.