Mes Favoris 2.0

Une refonte complète du plugin Mes Favoris qui permet aux visiteur identifiés de mettre en favori n’importe quel contenu de SPIP (article, rubrique, site, document...).

Installation

Ce plugin s’installe classiquement. Lors de son installation, il ajoute une table spip_favoris qui sera utilisée pour mémoriser les favoris de chaque auteur identifié

Ajout et suppression d’un favori


#FORMULAIRE_FAVORI peut être utilisé dans une boucle pour permettre au visiteur de sélectionner l’objet affiché. Le formulaire capte automatiquement le type de la boucle et l’id de l’objet affiché.

Il est également possible d’expliciter sur quel objet portera le formulaire :
#FORMULAIRE_FAVORI{article,23} affichera un formulaire pour ajouter ou retirer l’article 23 des favoris.

Pour l’utilisateur, le formulaire se présente comme une icône clicable, complétée d’un court libellé.

Lorsque l’objet n’est pas encore en favori il est proposé de l’ajouter :

Lorsque l’objet est déjà en favori, il est proposé de le retirer :

Liste des favoris

Le squelette inclure/mesfavoris.html peut être utilisé pour afficher la liste des favoris d’un auteur.

Il peut être utilisé dans une boucle comme suit pour afficher le nom et les favoris de l’auteur identifié :

<BOUCLE_auteur(AUTEURS){id_auteur=#SESSION{id_auteur}}{tout}>
	<h1>#NOM</h1>
	[(#INCLURE{fond=inclure/mesfavoris}{env}{id_auteur}{ajax})]
</BOUCLE_auteur>
Veuillez vous identifier !
<//B_auteur>

La liste affichée comporte sur chaque élément un bouton permettant de le retirer des favoris.

Le plugin n’est traduit pour le moment qu’en Français et anglais. Il est disponible sur spip-zone, n’hésitez pas à l’améliorer.

Développement : catégories de favoris

Depuis 2013 et la version 2.4.2, encore considérée comme “en test”, les favoris peuvent être classés en catégories. Le plugin ne fournit cependant pas l’interface utilisateur pour cela. C’est un autre plugin qui doit coder une interface adaptée aux besoins du site, afin de permettre à l’utilisateur de définir et/ou utiliser ces catégories.

updated on 2 October 2019

Discussion

15 discussions

  • 1

    Bonjour,

    je me sers de ce plugin depuis un moment déjà mais pour moi il manque le fait de trier les favoris par titre.

    Le titre n’étant pas dans la table “favori” c’est logique. Rajouter une colonne doit être faisable par le fichier “mesfavoris_pipelines.php” mais je ne vois pas comment faire le lien entre le tableau article ou rubrique et celui des favoris (je ne vois pas comment est récupéré la colonne id_objet qui pourrait m’aider pour mon souci)

    Quelqu’un a une idée s’il vous plait?

    Par avance merci. Sylvain

    • J’ai essayé d’imbriquer une boucle

      <BOUCLE_selections(FAVORIS){!par maj}{objet="article"}{id_auteur}{pagination #ENV{pagination,10}}>
              <BOUCLE_selectionsart(ARTICLES){id_auteur}{par titre}>                
                                      
                                                      #TITRE
                                                              <a href="#INFO_URL{#OBJET,#ID_OBJET}" style="color:black;font-size:0.8vw;">[(#LOGO_ARTICLE|image_reduire{200,0})]</a>
                                                      
                                                              <a href="#INFO_URL{#OBJET,#ID_OBJET}" style="color:white;font-size:0.8vw;">#INFO_TITRE{#OBJET,#ID_OBJET} </a>
                                                      [(#ENV{bouton_suppression,oui}|=={non}|non)
                                                              [(#AUTORISER{modifier,favori,#ID_FAVORI}|oui)[(#BOUTON_ACTION{<:mesfavoris:remove:>,#URL_ACTION_AUTEUR{supprimer_favori,#ID_FAVORI,#SELF},ajax})]]]
                                                              [(#ENV{bouton_ajout,non}|=={oui}|oui)[(#FORMULAIRE_FAVORI{#OBJET,#ID_OBJET})]]
                                                      
      </BOUCLE_selectionsart>
                                      </BOUCLE_selections>

      Le tri se fait bien mais cela m’affiche tout les articles de l’auteur et non que les favoris.

      Si je met en critère id_article à la place d’id_auteur Cela me met une erreur et la page ne s’ouvre pas

      Sylvain

    Reply to this message

  • 1

    Bonjour,

    J’aimerais ajouter une fonctionnalité à ce plugin :
    -  la possibilité d’initialiser/configurer une liste de favoris par défaut
    (usage : pouvoir mettre en exergue dans l’interface publique une liste d’articles de référence pour débuter l’usage du site (un peu comme le “compagnon” de l’espace privé), pour apporter une aide à un nouvel utilisateur d’un Intranet.

    Sauf oubli de ma part, cela impliquerait de :
    -  rajouter une sélection d’articles [et/ou d’autres objets] (par itération) dans la configuration
    -  rajouter une fonction/boucle/filtre dans la noisette inclure/mesfavoris.html (dans le fichier inclure/mesfavoris_fonctions.php pour initialiser pour l’auteur connecté les enregistrements de la table selon la valeur de la méta configurée...)
    Evidement, sans intervention explicite en configuration, le fonctionnement actuel reste inchangé !

    Je n’ai pas vu de plugin, ni de solution offrant cette possibilité (le plugin “Manuel du site” est plus limité) ; donc
    -  Est-ce une bonne idée ? D’autres spipeurs auraient-ils un besoin analogue ?
    -  Puis-je proposer une évolution /testée/ : comment ? [1]
    -  Est-ce qu’un autre testeur voudrait bien participer ?

    Qu’en pensez-vous ?

    YannX
    https://www.spippourlesnuls.fr/

    • Bien sûr on peut toujours rajouter manuellement l’appel récursif à un auteur par défaut dans la partie alternative de la noisette de inclure/mesfavoris ; mais c’est moins propre....

    Reply to this message

  • 1

    Bonjour,

    j’aurai aimé savoir s’il était possible pour un visiteur enregistré, de classer ses favoris dans des catégories pré-définies.
    Par exemple, un article ajouté en favori pourrait être classé dans “j’ai lu”, ou bien dans “je n’ai pas encore lu”.
    Soit directement depuis un article, en ajoutant plusieurs boutons, soit dans la liste de ses favoris en sélectionnant à l’aide d’un menu déroulant..

    Je vous remercie par avance.

    Julien

    • La dernière partie de la présentation répond précisément à ta question.
      Le plugin le permet, mais il te faut créer l’interface pour cela.

    Reply to this message

  • 3

    Bonjour,

    pensez-vous que nous pourrions utiliser ce plugin pour des visiteurs du site ? Bien sûr la liste serait perdue au vidage des cookies et de leur cache mais pour un site touristique je trouve un peu rebutant de devoir obligatoirement se connecter pour faire son petit carnet.

    Merci de votre réponse :)

    • Oui, j’aurais le même besoin que Teeno !

    • Avez-vous trouvé une solution pour faire fonctionner ce plugin avec les visiteurs d’un site ?

    • Ce plugin s’installe classiquement. Lors de son installation, il ajoute une table spip_favoris qui sera utilisée pour mémoriser les favoris de chaque auteur identifié.

      En fait “d’auteur identifié”, il faut comprendre “visiteur identifié”. Bref, à priori toute personne inscrite au site peut utiliser le plugin.

    Reply to this message

  • 1

    Super et superbe plugin !

    Je suis directeur d’un Centre Education Nationale et Ville de Paris. Je suis sur un gros projet pédagogique avec usage de tablettes numériques. Nous cherchons à mettre en place une activité de tri et classement de documents.

    Le principe :

    -  Proposition d’un lot de départ de 30 à 50 images.
    -  Possibilité d’accéder à un formulaire rapide (Prénom, Nom de l’école, Titre de la catégorie, Petite phrase explicative du côté enfant).
    -  Possibilité pour l’enfant de sélectionner telle ou telle image dans un panier sélection. (D’où le plugin “Mes favoris”)
    -  Possibilité de visualiser les entrées du formulaire + la sélection effectuée.

    Pensez-vous que ce soit réalisable avec le plugin Mes favoris ?

    Un très grand merci pour votre réponse. Cela fait plusieurs semaines que nous cherchons en vain...

    Robert Caron

    • Oui je ne vois pas de contre-indication. Vous dites chercher en vain.. Quelle difficulté est-ce que vous rencontrez exactement ?

    Reply to this message

  • 1

    Super ce plugin !!!
    Juste une question pour laquelle je n’ai pas vu de réponse dans ce forum.
    Comment trier les favoris par rubrique ou encore par mot clé ?

    • Je viens de résoudre mon problème, ce n’est peut être pas très orthodoxe mais cela semble fonctionner. Pour trier mes favoris par rubrique j’ai utilisé plusieurs boucles imbriquées dans le fichier inclure/mesfavoris.html situé dans le dossier du plugin.

      Pour permettre l’affichage par j’ai récupéré l’ID_OBJET que j’ai passé en paramètre d’une boucle article puis par une boucle imbriqué j’ai récupéré le titre de la rubrique associé à cet article ce qui donne :

      <BOUCLE_selections(FAVORIS){!par maj}{id_auteur}{pagination #ENV{pagination,10}}>
      <!-- ICI commence la nouvelle boucle -->
      <BOUCLE_article(ARTICLES){id_article="#ID_OBJET"}>
      <BOUCLE_rubrique(RUBRIQUES){id_rubrique}>#TITRE</BOUCLE_rubrique>
      </BOUCLE_article>
      <!-- Ici ce termine la nouvelle boucle, on déroule ensuite le reste du code -->

      En espérant que cela aide d’autres utilisateurs

    Reply to this message

  • 1

    Bonjour

    Merci pour ce plugin

    Je cherche à filtrer l’affichage des favoris “par date_redac” (champ de la table articles) plutôt que “!par maj” champ de la table favoris.

    Si vous avez une piste...

    Bonne journée

    Jean-Michel

    • Re-bonjour
      Voici une solution qui fonctionne sur mon PC (Spip 2.1 ; Wamp)

      La source qui m’a aidé à comprendre : les jointures entre tables

      La solution que j’ai retenue :

      • dans le fichier : mesfavoris.html (copié dans/squelettes/inclure)
      • vers la ligne 22 :
        <BOUCLE_selections(ARTICLES spip_favoris ){objet = article}{par date_redac}>
      • Je n’ai pas compris pourquoi, mais cela n’a fonctionné que lorsque j’ai mis ARTICLES en premier

      Le résultat :

      • Les articles favoris sont classés par date de rédaction antérieure.
      • Les articles favoris sans date de rédaction antérieure sont classés en premier

      Merci de me faire part de vos remarques si vous en avez (je découvre).

      Un grand merci à Cédric Morin : les potentialités de votre plugin me laissent rêveur.

      Cordialement

      Jean-Michel

    Reply to this message

  • Comment faire pour afficher les logos des articles favoris??

    Merci.

    Reply to this message

  • 1

    Bonjour,

    Il est très bien ce plugin !
    (d’ailleurs il fonctionne sur spip3 même si ce n’est pas indiqué sur cette page de contrib)

    J’ai développé pour les besoins d’un site de podcasts (audiolingua.eu) la fonctionnalité suivante : Le flux RSS (et de podcast) des articles favoris de l’utilisateur.
    Ce flux est public pour qu’il soit utilisable. Pédagogiquement par exemple, un enseignant diffuse à ses élèves une sélection de podcast à écouter (par mot-clé et/ou rubrique éventuellement).

    C’est possible d’intégrer ce flux au plugin Mes-Favoris-2-0 ?
    Ou est-il mieux d’en faire un autre ?

    • C’est possible d’intégrer ce flux au plugin Mes-Favoris-2-0 ?

      Si c’est souhaité, il faudrait sans doute ajouter dans la config du plugin une case à cocher afin que le webmestre autorise ou pas l’accès public du flux des favoris des utilisateurs ?
      je peux le faire si besoin.

    Reply to this message

  • Comment installer ce plugin en spip 2.1.2 lorsqu’on a une table spip_favoris d’une base 1.9?
    Il n’installe pas la colonne id_objet :
    SQL error 1054
    Unknown column ’id_objet’ in ’where clause’ SELECT * FROM `spip2`.spip_favoris WHERE id_auteur=1 AND id_objet=6651 AND objet=’article’

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom