Plugin Textes Favoris

Ce plugin permet à tout rédacteurs, administrateurs ou visiteurs correctement connectés de mettre des articles en favoris afin de les retrouver plus facilement.

Il n’utilise pas un système de cookies mais ajoute une toute petite table dans la base de données.

Comment ça marche

Deux balises sont nécessaires pour faire fonctionner ce plugin.
#FAVORIS_TEXTE et #MES_FAVORIS

Dans une page article en plaçant la première balise là où l’on souhaite, on fera apparaitre deux petits carrés bien connus ( un vert et un noir). Pour les non-connectés ceux-ci restent invisibles.

En cliquant sur le carré vert on place dans la table et son Id auteur et l’id_article

En cliquant sur le carré noir on supprime ces données de la table.

Ainsi il est donc facile de retrouver ses articles ou les articles d’autres rédacteurs placés en favoris

En plaçant la balise #MES_FAVORIS en dehors d’une page article, la personne connectée retrouvera la liste des articles qu’elle aura mis en favoris. Un simple click sur le titre, renvoie vers l’article désiré.

Coté Admin

L’administrateur peut visualiser côté privé tous les articles mis en favoris ainsi que les rédacteurs qui ont choisis les articles , la rubrique dans laquelle se trouve l’article et éventuellement s’il existe le logo_auteur, ainsi que le nombre total d’articles mis en favoris.

Ensuite, dans un squelette, avec une ou deux boucles, on peut imaginer un Top 10 des articles les plus appréciés (ceux qui auront suscités le plus de mises en favoris).

N.B : Ce plugin au départ était prévu pour une version de SPIP 1.9. Celui-ci fonctionne maintenant très bien avec la version 2.0.9 de SPIP.Il fonctionne également avec les Url’s propres. Il utilise la contribution : Nouvelle balise exemple TMP

Il faut donc dans la page article insérer juste ce petit bout de code :

[(#ID_ARTICLE|tmp{cle})]#FAVORIS_TEXTE

Ce plugin est également disponible sur spip-zone pour améliorations ou transformations.

Discussion

6 discussions

  • le plugin semble ne pas marcher avec la 2.10 les favoris se comptabilisent dans l’espace prive mais ne sont pas visible comme dans l’espace public. Dommage c’est bien pratique ! C’est juste moi ou c’est général ?

    Répondre à ce message

  • 1

    Sauf erreur, il y a un problème sur le test initial d’installation du plugin pour ceux qui avaient préalablement installé le plugin « notation »

    En effet, « Textes Favoris » teste la présence non pas de sa table de données, mais la présence d’un champ id_notation utilisé aussi par « notation ».

    La table de « Textes Favoris » n’est donc jamais installé. (donc en pratique soit l’installer à la main soit effacer les tables de « notation » )

    Répondre à ce message

  • Bonjour,

    en plaçant la balise #FAVORIS_TEXTE dans la page article, j’obtiens les 2 carré : vert et noir, donc pas de souci.
    en plaçant la balise #MES_FAVORIS dans la page sommaire, je n’obtiens pas la liste des éléments que j’ai mis aux favoris.
    SVP ou dois je mettre cette balise #MES_FAVORIS ?? pour trouver ce que j’ai mis aux favoris, dans la page d’accueil.
    j’utilise le squelette sarka spip 3 et spip 2.0.9

    Répondre à ce message

  • 4
    ocarette

    Super ce plugin pour notre association qui publions des articles scientifiques.
    Un petit truc : on ne peut pas modifier l’apparence de la liste en particulier supprimer les numéro type ’xxx. titre’ et on ne peut pas réduire le nombre de caractères.
    C’est peut être une idée à creuser. Si j’ai le temps je verrais pour faire le smodif.
    Olivier

    • Bernard Blazin

      Bonjour,

      Et merci !

      Pour supprimer le numéro de l’article il faut éditer le script php dans /balises/mes_favoris.php et à la ligne 16 remplacer le code par celui-ci :

      $article=$data['titre']; 
      		$article = supprimer_numero($data['titre']);
      		$id_article=$data['id_article'];

      Pour réduire le nombre de caractères on peut utiliser le code classique comme celui ci par exemple :

        $max = 200;
       
          if (strlen($article) >= $max) {
         $chaine = substr($article, 0, $max);
           $espace = strrpos($article, " ");
           $chaine = substr($article, 0, $espace)."...";
          }
      // remplacer dans le lien $article par $chaine

      Ca devrait fonctionner

    • ocarette

      Merci pour ta réponse que je vais mettre en appilcation.
      C’est dommage qu’on ne puisse pas le faire à partir des squelettes et qu’il faille passer par le script php.
      En effet, il existe des filtres dans spip tel que couper{} ou supprimer_numero. Ceci permettrait de laisser selon les endroits les infosque l’on désire.
      Je reste toutefois charmé par ton plugin et je vais l’intégrer à notre site de la Société Vétérinaire Pratique de France
      Olivier

    • Bernard Blazin

      Oui je suppose que ce serait possible en intégrant une fonction. Pour l’instant je n’y ai pas réfléchi..Peut être pour la suite ou si quelqu’un le fait sur spip-zone ?

      Pour finir le code à remplacer doit être ainsi :

      $article=$data['titre']; 
      		$article = supprimer_numero($data['titre']);
      		$max = 20;
      
         if (strlen($article) >= $max) {
        $article = substr($article, 0, $max);
          $espace = strrpos($article, " ");
          $article = substr($article, 0, $espace)."...";
         }
    • Bernard Blazin

      Je pense à quelque chose qui devrait fonctionner sans afficher la dernière balise #MES_FAVORIS
      avec des boucles et la balise #SESSION
      Si auteur connecté

      <BOUCLE_1(AUTEURS){id_auteur=#SESSION{id_auteur}}>
      <BOUCLE_2(spip_favtextes) {id_auth=#ID_AUTEUR}>
      <BOUCLE_3 (ARTICLES) {id_article=#ID_TEXTE}>
      <a href ="#URL_ARTICLE">[(#TITRE|supprimer_numero|couper{50})]</a>
      </BOUCLE_3>
      </BOUCLE_2>
      </BOUCLE_1>

      Pas testé, mais je ne vois pas pourquoi ça ne fonctionnerait pas

    Répondre à ce message

  • Bernard Blazin

    Oui pourquoi pas ? et d’ailleurs retrouver dans son profil ( espace privé) les articles que l’on a mis de côté.

    Je vais voir comment faire. Mais je le rappelle le plugin est sur spip-zone donc modifiable par tous et à souhait.

    Répondre à ce message

  • Il serait intéressant de pouvoir ajouter un article favori depuis l’espace privé. (j’espère avoir bien lu l’article, mais je n’ai rien vu sur ça). Est-ce que c’est faisable ?

    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