Comment exclure des articles ?

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Vous pouvez souhaiter, pour quelque raison que ce soit, ne pas présenter certains articles dans votre page d’accueil ou vos entêtes de rubrique.

Deux moyens vous permettront d’y parvenir :
-  En plaçant l’ensemble des articles à exclure dans une rubrique ou un secteur ;
-  En affectant un mot-clé à chaque article à exclure.

Avantages & Inconvénients

-  En regroupant les articles à exclure dans une même rubrique ou dans un même secteur, vous simplifierez la structure de vos boucles SPIP, mais vous devrez vous limiter à une seule rubrique ou un seul secteur pour y placer vos articles à exclure ;

-  Le recours au mot-clé/groupe de mots-clés apporte une plus grande souplesse puisque les articles à exclure peuvent côtoyer les articles standards dans les différentes rubriques du site.
En contrepartie, la construction des boucles SPIP sera plus délicate ; les exemples ci-dessous vous aideront à mieux comprendre les conditions de (bon) fonctionnement.

Exemples s’appuyant sur rubrique/secteur

Tous les articles, sauf ceux de la rubrique n°15
<B_rubout>
<h3>Tous les articles, sauf ceux de la rubrique '15'</h3>
<ol>
<BOUCLE_rubout(articles){id_rubrique!=15}{par id_rubrique}>
<li><b>#ID_ARTICLE</b> - #TITRE (secteur n°#ID_SECTEUR, rubrique n°#ID_RUBRIQUE)</li> 
</BOUCLE_rubout>
</ol><hr> 
</B_rubout>
Tous les articles, sauf ceux du secteur n°3
<B_sectout>
<h3>Tous les articles, sauf ceux du secteur '3'</h3>
<ol>
<BOUCLE_sectout(articles){id_secteur!=3}{par id_secteur}>
<li><b>#ID_ARTICLE</b> - #TITRE (secteur n°#ID_SECTEUR, rubrique n°#ID_RUBRIQUE)</li> 
</BOUCLE_sectout>
</ol><hr> 
</B_sectout>

Exemples s’appuyant sur mot-clé/groupe de mots-clés

On supposera que les articles à exclure sont tous associés au mot-clé ’invisible’, lequel mot-clé appartient au groupe de mots-clés ’Exclure’.

Si l’on se contente d’écrire :

Tous les articles, sauf ceux associés au mot-clé ’invisible’
<B_exclus>
<h3>Tous les articles, sauf ceux 'invisibles'</h3>
<ol>
<BOUCLE_exclus(articles){titre_mot=!invisible}{par id_article}>
<li><b>#ID_ARTICLE</b> - #TITRE (secteur n°#ID_SECTEUR, rubrique n°#ID_RUBRIQUE)</li>
</BOUCLE_exclus>
</ol><hr>
</B_exclus>

On n’obtiendra que les articles associés à un mot-clé différent de ’invisible’, et les articles sans mot-clé ne seront donc pas affichés !

Pour effectivement parvenir au résultat souhaité, il faut combiner deux boucles SPIP et s’appuyer sur le filtre {doublons} (merci, Fil) comme dans l’exemple ci-dessous.

Une première boucle liste les articles associés au mot-clé. Ce faisant, ils ne seront plus éligibles dans la seconde boucle grâce au filtre {doublons}... Et le tour est joué !

Tous les articles, sauf ceux associés au mot-clé ’invisible’
<B_exclus>
<!-- <h3>Les articles associés au mot-clé 'invisible'</h3>
<ol> -->
<BOUCLE_exclus(articles){titre_mot=invisible}{doublons}{par id_article}>
<!-- <li><b>#ID_ARTICLE</b> - #TITRE (secteur n°#ID_SECTEUR, rubrique n°#ID_RUBRIQUE)</li> -->
</BOUCLE_exclus>
<!-- </ol><hr> -->
</B_exclus>

<B_show>
<h3>Tous les articles, sauf 'invisibles'</h3>
<ul>
<BOUCLE_show(articles){tout}{doublons}{par id_article}>
<li><b>#ID_ARTICLE</b> - #TITRE (secteur n°#ID_SECTEUR, rubrique n°#ID_RUBRIQUE)</li>
</BOUCLE_show>
</ul><hr>
</B_show>


NOTA BENE : pour exclure les articles associés au groupe de mots-clés ’Exclure’, il vous suffit de reprendre l’exemple ci-dessus et remplacer le filtre {titre_mot=invisible} par {type_mot=Exclure}

Discussion

14 discussions

  • 1
    madrilene

    Euh oui mais dans le détail il y a quand même un truc qui cloche, c’est que
    si je dois afficher une balise (#titre, sous titre ou autre) des articles
    liés au mot clef excluant pour ne pas les selectionner par la suite ca peut etre génant si on veut qu’il y ait aucune trace des articles à éliminer !! Dans l’exemple la première boucle excluante, affiche le
    titre et j’ai l’impression que le doublon ne marche que si une balise est
    affichée , non ?

    • Non, il n’y a pas d’obligation à insérer une quelconque balise : une boucle SPIP vide suffit. L’exemple proposé sert à constater, de visu, que les articles que l’on veut exclure le sont bien. Une fois ce point réglé, il suffit de supprimer cette trace.

      Un essai te rassurera ;-)

    Répondre à ce message

  • 2

    Salut les Spipeurs géniaux ;))

    question complémentaire (à celle de ne pas faire paraitre les articles « parasites » dans les pages), ... celle de ne pas envoyer l’annonce d’un article dans les Nouveautés par mail = nous avons activé cette fonction d’annonce, nous publions les articles « gris » dans une rubrique cachée MAIS patatras les articles partent par mail quand même Arggghhh ... une soluce ?? Merci B-)

    • C’est tout frais et sans garantie immédiate de bon fonctionnement parce que je n’ai pas pu le vérifier, mais voici la boucle ajoutée dans le fichier « nouveautes.html » :

      <BOUCLE_nv1excl(ARTICLES){type_mot=Exclure}{unique}{age_relatif<=0}{par date}{inverse}{0,30}>
      </BOUCLE_nv1excl>
      <BOUCLE_nv1(ARTICLES){unique}{age_relatif<=0}{par date}{inverse}{0,30}>
      (...)

      La 1re boucle est supposée identifier les articles ’gris’, la seconde ne les reprend pas grâce à l’argument « unique » présent dans les deux boucles.

      Même principe pour les brèves...

      Amicalement,

      Richard

    • Un petit complément d’information : la boucle « <BOUCLE_nv1excl(ARTICLES)... » doit être placée à l’EXTERIEUR de « <BOUCLE_nv1... », plus précisément AVANT la balise « <B_nv1> », sans quoi plus aucun mail ne sera diffusé.

      Aucun message d’erreur n’est affiché en cas de problème lors de la génération du mail des nouveautés.

      Richie

    Répondre à ce message

  • 2
    Christophe

    Plus simplement, on peut jouer sur les dates de publication des articles.
    Les articles non désirés sont publiés et ensuite on change la date de publication, en l’année 2000 par exemple.
    Pour faire apparaître les articles standards, on met la condition que les articles doivent être publiés depuis 2001 par exemple.

    • cest une bonne idee

    • Le besoin que je cherchais à satisfaire était de ne pas afficher en page d’accueil des articles sans intérêt général (activity reports) créés chaque semaine en telle quantité qu’il n’y avait plus de place pour les articles ’de fond’.

      Avec la méthode proposée, la page d’accueil n’est plus phagocytée par les ’activity reports’ et ces derniers sont visibles dans leur rubrique dédiée.

    Répondre à ce message

  • 1
    Thierry Gagnon

    Si ça ne marche pas (comme il m’est arrivé), essayez titre_mot !=invisible au lieu de titre_mot= !invisible.

    L’astuce serait de mettre le point d’exclamation AVANT le signe égal... :P

    • Hélas, comme je l’indiquais dans l’article, l’expression que tu proposes ne retournera que les articles AYANT un mot-clé DIFFERENT du critère de sélection. Autrement dit, les articles sans mot-clé associé ne seront PAS sélectionnés par la boucle SPIP.

      Quant au critère « titre_mot= !invisible », il s’agit d’une erreur de saisie : les tests ont bien été faits avec « titre_mot !=invisible ». Toutes mes excuses :-p

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom