Article assigné à plusieurs catégories (dont "page d'accueil")et CatList

krockroc Member
novembre 2020 modifié dans Entraide

Bonjour,

J'ai sur mon site des articles assignés à plusieurs catégories (catégorie personnalisée + "page accueil").
Quand j'affiche un articles qui appartient à plusieurs catégories, le menu créé avec CatList n'indique pas comme "active" la catégorie assignée.

Alors que pour les articles qui n'ont qu'une seule catégorie, pas de soucis, "active" est bien affiché.

Y a-t-il une solution ? Je n'ai pas trouvé sur le forum. Merci !

Mots clés:

Réponses

  • Slt @kroc

    La liste des catégories (ds la sidebar) fait la même.

    Il est probable qu'il s'agisse d'un (petit) bogue dû aux fonctions $plxShow->catList() & $plxShow->catId().

    Ds le cas de plusieurs catégories pour un article, catId() renvois 'home' et du coup catList() se trompe...

    AMHA les deux fonctions sont à a réviser (ça doit être d'anciens codes).

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

  • Bonjour,

    Y aurait-il quand même une solution pour ce problème de catégorie active ou pas ?

    Merci !

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Effectivement, un article appartenant à plusieurs catégories n'a jamais été envisagé dans cette fonction.

    De plus, cette fonction a besoin d'être améliorée pour tourner plus vite ( plusieurs tests inutiles effectués. Par exemple si une catégorie ne s'affiche pas dans un menu, les autres tests sont inutiles ).

    Je vais corriger le problème et envoyer un PR sur Github pour la dernière release.
    Cela ne devrait pas être très long, le temps de faire quelques tests.

  • krockroc Member
    novembre 2020 modifié

    Mille mercis @bazooka07 !
    Pourras-tu répondre à ce post quand tu auras pu le faire pour que je check ?
    En fait, c'est particulièrement gênant pour les posts qui ont la catégorie "page d'accueil" en plus d'une autre catégorie.
    Merci !

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Dans core/lib/class.plx.show.php, il faut modifier les fonctions suivantes :

    • function catId($asArray=false)
    • function catList($extra='', $format='<li id="#cat_id" class="#cat_status"><a href="#cat_url" title="#cat_name">#cat_name</a></li>',$include='', $exclude='')
    • function urlPostsRssFeed($mode = 'home')

    Il faut aussi ajouter quelques règles CSS dans le thème defaut pour "améliorer votre expérience utilisateur"

    A noter : catList() retourne soit une CSV chaine, soit un tableau des identifiants de catégories alignés sur 3 chiffres.
    ( CSV: comma separated values )

    Pour récupérer les corrections :

    git clone https://github.com/kazimentou/PluXml.git --branch plxshow-catlist-201106
    

    Sinon récupérer l'archive ici :
    https://github.com/kazimentou/PluXml/archive/5.8.5.zip

    Je vous encourage à privilégier git pour vos mises à jour.

  • krockroc Member
    novembre 2020 modifié

    Merci beaucoup @bazooka07 , ça fonctionne parfaitement !

    Concernant git, je n'ai jamais utilisé ce genre d'outil, il faudrait que je m'y plonge, je me demande si c'est utile pour le simple utilisateur / intégrateur que je suis.

Connectez-vous ou Inscrivez-vous pour répondre.