[résolu] Bug affichage flux RSS d'une catégorie

diabolos29diabolos29 Member
octobre 2015 modifié dans Bogues
Bonjour,

Voici mon premier message sur le forum. Je suis nouvel utilisateur de Pluxml. C'est entre autre la grande simplicité de CMS qui m'a attiré et m'a fait quitter Wordpress.

J'ai remarqué un comportement étrange de mon installation toute neuve de Pluxml. Lorsque je clique sur une catégorie dans le bandeau à droite, j'arrive sur une page qui ne contient effectivement que les articles dans cette catégorie (par exemple : https://sujets-libres.fr/index.php?categorie4/jongle ).

Lorsqu'en bas de cette page de clique sur "Fil Rss des articles de cette catégorie", je devrais logiquement tomber sur les même résultats, or, l'ensemble des articles sont affichés sur la page d'abonnement au flux RSS.

J'ai installé la version 5.4 de Pluxml. J'ai par ailleurs constaté ce que décris aussi sur d'autres blogs, dont http://www.pluxml.org/blog.

Une idée ?

Merci en tout cas pour ce super outil :D .

Fred

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Bonjour,

    Effectivement, il y a un bogue. Il faut corriger une expression régulière dans la classe plxFeed.

    Ouvre le fichier core/lib/class.plx.feed.php.
    Recherche plusieurs fois le mot categorie
    dans la ligne 88, il faut remplacer l'expression :
    [== Indéfini ==]
    '#^(?:atom/|rss/)?categorie([0-9]+)/?$#'
    
    par :
    [== Indéfini ==]
    '#^(?:atom/|rss/)?categorie(\d+)(/|$)#'
    
    Je te conseille de dupliquer la ligne et mettre l'original en commentaire, les expressions régulières sont compliquées à comprendre si on n'a pas l'habitude.

    En passant, on pourrait simplifier d'autres expressions régulières dans la fonction prechauffage :
    ligne 93 :
    [== PHP ==]
    // $this->motif = '/^[0-9]{4}.((?:[0-9]|home|,)*(?:'.$this->cible.')(?:[0-9]|home|,)*).[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    $this->motif = '/^\d{4}.((?:\d|home|,)*(?:'.$this->cible.')(?:\d|home|,)*).\d{3}.\d{12}.[\w-]+.xml$/';
    

    ligne 98 :
    [== PHP ==]
    // elseif($this->get AND preg_match('#^(?:atom/|rss/)?tag\/([a-z0-9-]+)/?$#',$this->get,$capture)) {
    elseif($this->get AND preg_match('#^(?:atom/|rss/)?tag/([\w-]+)/?$#', $this->get, $capture)) {
    

    ligne 117 :
    [== PHP ==]
    // $this->motif = '/('.implode('|', $ids).').(?:[0-9]|home|,)*(?:'.$this->activeCats.'|home)(?:[0-9]|home|,)*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    $this->motif = '/('.implode('|', $ids).').(?:\d|home|,)*(?:'.$this->activeCats.'|home)(?:\d|home|,)*.\d{3}.\d{12}.[\w-]+.xml$/';
    

    ligne 122:
    [== PHP ==]
    // elseif($this->get AND preg_match('#^(?:atom/|rss/)?commentaires/article([0-9]+)/?$#',$this->get,$capture)) {
    elseif($this->get AND preg_match('#^(?:atom/|rss/)?commentaires/article(\d+)/?$#',$this->get,$capture)) {
    

    ligne 127:
    [== PHP ==]
    // $this->motif = '/^'.$this->cible.'.(?:[0-9]|home|,)*(?:'.$this->activeCats.'|home)(?:[0-9]|home|,)*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    $this->motif = '/^'.$this->cible.'.(?:\d|home|,)*(?:'.$this->activeCats.'|home)(?:\d|home|,)*.\d{3}.\d{12}.[\w-]+.xml$/';
    

    ligne 129:
    [== PHP ==]
    // elseif($this->get AND preg_match('#^admin([a-zA-Z0-9]+)/commentaires/(hors|en)-ligne/?$#',$this->get,$capture)) {
    elseif($this->get AND preg_match('#^admin([\w-]+)/commentaires/(hors|en)-ligne/?$#',$this->get,$capture)) {
    

    ligne 141:
    [== PHP ==]
    // $this->motif = '/^[0-9]{4}.(?:[0-9]|home|,)*(?:'.$this->activeCats.'|home)(?:[0-9]|home|,)*.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    $this->motif = '/^\d{4}.(?:\d|home|,)*(?:'.$this->activeCats.'|home)(?:\d|home|,)*.\d{3}.\d{12}.[\w-]+.xml$/';
    
  • Merci beaucoup, ça venait effectivement de là.
    C'est corrigé chez moi.
  • StéphaneStéphane Member, Former PluXml Project Manager
    je prends en compte le bug.
    merci bazooka07 pour la solution

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

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