SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 35 visiteurs en ce moment

Accueil du site > Navigation > Tris conditionnels > Selectionner les x derniers articles syndiqués suivant un mot (...)

Selectionner les x derniers articles syndiqués suivant un mot clef

25 mars 2005 – par guayacan, mortimer – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

3 votes

Si l’on syndique beaucoup de sites classés par mots clefs, comment obtenir la liste chronologique des 10 derniers articles de nos sites favoris parmi cet ensemble de sites ?

Supposons que nous syndiquions un grand nombre de sites de façon systématique, et que nous voulions afficher une liste des derniers articles parus sur nos sites « favoris ».

Pour ceux qui n’ont pas le temps : la solution, pour les autres, suivre les tentatives peut être instructif...

A priori, on se dit qu’il suffit d’associer le mot clef « favori » à nos site, d’ajouter un critère <tt><b>{titre_mot=favori} à une boucle et hop, le tour est joué.

pourquoi ce n’est pas si simple

C’est en fait plus compliqué. La documentation de la boucle SYNDIC_ARTICLES nous rappelle que l’on peut indiquer les critères {id_secteur}, {id_rubrique} et j’en passe, mais pas {titre_mot} ou {id_mot}.

On ne peut donc pas faire <BOUCLEn(SYNDIC_ARTICLES){titre_mot=favori}>

Si l’on fait une première boucle pour selectionner les sites favoris

Deux problèmes :

  • les articles obtenus seront classés par sites (nous les voulons par date)
  • on ne pourra pas contrôler le nombre global d’articles à afficher.

Pour pouvoir selectionner {par date}{inverse}{0,10} il faudra avoir une boucle qui s’applique à l’ensemble des articles des sites favoris.
Il faudra donc au préalable exclure par une boucle ou une combinaison de boucles les articles syndiqués des sites non favoris en utilisant {doublons}

Avant SPIP 1.8

Problème, avant [SPIP 1.8] {doublons} ne s’applique pas aux articles syndiqués... Pour les versions antérieures, on ne pourra avoir qu’une solution approchée : une boucle sur l’ensemble des articles syndiqués, et pour chaque article trouvé, vérification s’il appartient à un site favori. On ne pourra pas contrôler exactement le nombre d’articles affichés.

SPIP 1.8

Première idée : il faut exclure les articles liés aux sites qui n’ont pas le mot clef « Favori », puis faire une boucle sur tous les autres articles.

Ce qui ne donne pas le résultat voulu pour plusieurs raisons :

  • le critère {titre_mot != Favori} exclue l’ensemble des sites qui n’ont pas de mot clefs associés, il signifie parmis les sites qui ont au moins un mot clef, selectionne ceux qui ont un mot clef différent de Favori
  • du coup, si parmis nos sites favori certains ont un autre mot clef associé comme par exemple spip, logiciel libre, ... ils seront eux aussi selectionnés dans la première boucle et donc exclus !

Pour réaliser la négation {titre_mot != Favori} il faut en fait passer par une première boucle {titre_mot = Favori}{doublons} pour exclure nos site favoris et seulement eux de la boucle suivante...

Solution

Utilisation (massive) des doublons :

  • une première boucle sélectionne les sites favoris,
  • une seconde boucle passe en revue l’ensemble des autres sites, puis les articles syndiqués de chacun de ces sites.
  • enfin une troisième boucle nous permet de passer en revue tous les autres articles syndiqués : ceux qui sont liés aux sites « favori » !

P.-S.

Nous résumons ici une réflexion sur la liste des utilisateurs de spip qui a permis grâce à Pierre Andrews d’aboutir à une solution au problème.

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)