CatList - include de plusieurs catégories n'en affiche qu'une

krockroc Member
novembre 2020 modifié dans Entraide

Bonjour,

J'essaie d'affiche une liste de categorie sélective, mais ça ne semble pas marcher.

$plxShow->catList('','<li><a href="#cat_url" title="#cat_name" class="#cat_status">#cat_name</a></li>',001|002|003); 

Seule une catégorie s'affiche, la 003.
Est-ce que j'ai loupé quelque chose ?

Merci d'avance !

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Ton $include est mal écrit. Plutôt qu'une chaine vide, je préfère la valeur false qui prend moins de place en mémoire.
    Corrige comme ceci :

    $plxShow->catList(false, '<li><a href="#cat_url" class="#cat_status">#cat_name</a></li>','001|002|003');
    

    L'attribut title est inutile. Il a la même valeur que le textContent de la balise.

    Pour être un peu plus humain, il est maintenant permis d'écrire :

    $plxShow->catList(false, '<li><a href="#cat_url" class="#cat_status">#cat_name</a></li>','1 2 3');
    

    Pour les fans de CSV, onn peut faire aussi '1, 2, 3'.
    Pour afficher ton code PHP avec la coloration syntaxique, insère le entre 2 lignes contenant 3 apostrophes inversées (touche 7 à côté du très connu "du tiret du 6").

    J'ai introduit, par mégarde, un petit bug qui surgit de temps en temps avec la fonction plxShow::urlPostsRssFeed(). Voici la version corrigée :

    public function urlPostsRssFeed($mode = false) {
            if(empty($mode)) {
                $mode = $this->plxMotor->mode;
            }
    
            switch ($mode) {
                case 'categorie':
                    $id = $this->catId();
                    $idNum = intval($id);
                    $query = 'rss/categorie' . $idNum . '/' . $this->plxMotor->aCats[$id]['url'];
                    break;
                case 'tags':
                    $tag = plxUtils::strCheck($this->plxMotor->cible);
                    $query = 'rss/tag/' . plxUtils::strCheck($tag);
                    break;
                default :
                    $query = 'rss'; # in fact, as mode == 'home'
            }
            return $this->urlRewrite('feed.php?' . $query);
        }
    

    Il manquait la variable $query dans le case 'categorie'.

  • krockroc Member
    novembre 2020 modifié

    Merci @bazooka07, ça fonctionne parfaitement maintenant.

    Le rssfeed m'intéresse d'ailleurs, car je vais essayer de récupérer et d'afficher un flux de contenu d'un site PluXml pour l'afficher sur un autre site PluXml.

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