Créa articles ne devant pas être intégrés au flux RSS

nicomaxnicomax Member
novembre 2014 modifié dans Modifications
Salutatous,

J'ai créé une catégorie que j'ai masqué (par le biais de l'admin) et ainsi je peux l'alimenté en articles sans que ceux-ci ne s'affichent sur le front office.

Une fois que j'aurais complètement intégrés tous les articles de cette catégorie, je l'afficherais.

MAIS PROBLÈME :
Je viens de m'apercevoir que quand je créé un article, il est automatiquement intégré au flux RSS.

D'où ma question :
Comment créé tous les articles de cette catégorie masquée, sans que ceux-ci ne soient pris en compte dans le flux RSS ?

Merci de vos lumière

Réponses

  • Dans l'admin je viens de désactiver la catégorie en question.

    J'ai créé un article lié à cette catégorie... et à priori l'article en question n'est pas pris en compte dans le flux RSS.

    J'ai ré-activé la catégorie... et même chose, à priori l'article en question n'est pas pris en compte dans le flux RSS... en tout cas pour l'instant... ou faut-il que j'attende encore un peu et il va finir par s'afficher dans le flux RSS !

    D'où ma question :
    Si j'intègre tous mes articles (une centaine quand même) alors que ma catégorie est masquée et désactivée,
    au moment où je vais la ré-activer la catégorie, j'espère que la centaine d'articles ne va pas être pris en compte d'un bloc dans le flux RSS !!!???

    Connaissez-vous un moyen d'intégrer tous ces articles en off sans qu'ils soient pris en compte dans le flux RSS ?
  • Après une bonne nuit, bé en fait j'ai ma réponse à mon post précédent :
    même si la catégorie est désactivée, si je créé des articles liés à cette catégorie, ils se retrouvent quand même dans le flux RSS :(
    Ce que je ne souhaite pas !

    donc ça ne répond pas à ma question :
    comment créé des articles dans une catégorie sans que ceux-ci soient pris en compte dans le flux RSS ?
  • Bon je pense avoir trouvé :

    Dans le fichier "core / lib / class.plx.show.php",
    dans la fonction ci-dessous j'ai ajouté l'identifiant de ma catégorie, '6',
    [== PHP ==]
    public function artFeed($type='rss', $categorie='') {
    		# Hook Plugins
    		if(eval($this->plxMotor->plxPlugins->callHook('plxShowArtFeed'))) return;
    
    		if($categorie != '6' AND is_numeric($categorie)) # Fil Rss des articles d'une catégorie
    			echo '<a href="'.$this->plxMotor->urlRewrite('feed.php?rss/categorie'.$categorie).'" title="'.L_ARTFEED_RSS_CATEGORY.'">'.L_ARTFEED_RSS_CATEGORY.'</a>';
    		else # Fil Rss des articles
    			echo '<a href="'.$this->plxMotor->urlRewrite('feed.php?rss').'" title="'.L_ARTFEED_RSS.'">'.L_ARTFEED_RSS.'</a>';
    	}
    

    Je teste et vous dis...
  • Test effectué et fonctionnant parfaitement :)
  • Quand tu vas à l'adresse monsite.com/feed/rss ?

    Faut modifier le fichier class.plx.feed.php, peut-être étais-ce un oublie de l'auteur, à vérifier.
  • nicomaxnicomax Member
    septembre 2014 modifié
    1 / Oui, quand j'affiche l'url "monsite.com/feed/rss", les articles de ma catégorie en question n'y sont pas affichés.
    Les personnes abonnées au flux RSS ne les verront donc pas.

    2 / je ne comprend pas ta seconde remarque.
    puisque ça fonctionne correctement juste en modifiant le fichier "core / lib / class.plx.show.php",
    dois-je en plus modifier quelque chose dans le fichier "core / lib / class.plx.feed.php" ?
  • La modification que tu as faite, elle n'a rien à voir avec le feed/rss sauf erreur de ma part.
  • nicomaxnicomax Member
    novembre 2014 modifié
    Ouch... je déterre ce sujet car à l'époque j'avais parlé trop vite :
    nicomax a écrit:
    Test effectué et fonctionnant parfaitement

    Tu as raison Pio154, ça ne fonctionne en fait pas :D

    Comme tu l'indiques je suis allé dans le fichier core / lib / class.plx.feed.php

    J'ai bien essayé de mettre une condition mais ça marche pô !

    A la ligne 214, dans la partie "Méthode qui affiche le flux rss des articles du site",
    j'ai entouré ce code :
    [== PHP ==]
    # On va boucler sur les articles (si il y'en a)
    		if($this->plxRecord_arts) {
    			while($this->plxRecord_arts->loop()) {
    				# Traitement initial
    				if($this->aConf['feed_chapo']) {
    					$content = $this->plxRecord_arts->f('chapo');
    					if(trim($content)=='') $content = $this->plxRecord_arts->f('content');
    				} else {
    					$content = $this->plxRecord_arts->f('chapo').$this->plxRecord_arts->f('content');
    				}
    				$content .= $this->aConf['feed_footer'];
    				$artId = $this->plxRecord_arts->f('numero') + 0;
    				$author = $this->aUsers[$this->plxRecord_arts->f('author')]['name'];
    				# On check la date de publication
    				if($this->plxRecord_arts->f('date') > $last_updated)
    					$last_updated = $this->plxRecord_arts->f('date');
    
    				# On affiche le flux dans un buffer
    				$entry .= "\t<item>\n";
    				$entry .= "\t\t".'<title>'.plxUtils::strCheck($this->plxRecord_arts->f('title')).'</title> '."\n";
    				$entry .= "\t\t".'<link>'.$this->urlRewrite('?article'.$artId.'/'.$this->plxRecord_arts->f('url')).'</link>'."\n";
    				$entry .= "\t\t".'<guid>'.$this->urlRewrite('?article'.$artId.'/'.$this->plxRecord_arts->f('url')).'</guid>'."\n";
    				$entry .= "\t\t".'<description>'.plxUtils::strCheck(plxUtils::rel2abs($this->racine,$content)).'</description>'."\n";
    				$entry .= "\t\t".'<pubDate>'.plxDate::dateIso2rfc822($this->plxRecord_arts->f('date')).'</pubDate>'."\n";
    				$entry .= "\t\t".'<dc:creator>'.plxUtils::strCheck($author).'</dc:creator>'."\n";
    				# Hook plugins
    				eval($this->plxPlugins->callHook('plxFeedRssArticlesXml'));
    				$entry .= "\t</item>\n";
    			}
    

    Par la condition suivante :
    [== PHP ==]
    
    if($catId != '6' OR $catId != '7' OR $catId != '8') {
    
    ... code au-dessus ...
    
    } else {
    echo '';
    }
    

    Je ne sais pas trop où placer ma condition...
    Merci de vos lumières
Connectez-vous ou Inscrivez-vous pour répondre.