Mes Favoris 3.0

Une nouvelle version 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 le picto est grisé avec un plus indiquant l’action d’ajout possible :

Puis au survol, le picto se colore, le libellé court apparait, ainsi qu’une infobulle après un petit délai :

Lorsque l’objet est déjà en favori, seul le picto apparait par défaut :

Puis au survol le picto se grise, un moins apparait, ainsi qu’un label court et une infobulle :

Changements par rapport à la version 2

Le changement notable concerne la mise en forme du bouton d’ajout/suppression aux favoris.

Le plugin propose maintenant simplement 2 thèmes : coeur et bookmark, que vous pourrez choisir en fonction de ce qui semble le plus pertinent pour votre usage

La taille par défaut du bouton (le texte et l’image) sont hérités de l’endroit où le bouton est inséré dans la page. Il s’adapte donc à votre site au mieux.

Si besoin, vous pouvez simplement changer la taille du bouton en jouant sur la taille de la police (le picto suivra proportionnellement) :

.formulaire_favori {font-size:0.8em}

et/ou modifier la taille du picto lui-même qui a une largeur par défaut de 2em :

.formulaire_favori img {width:1em;}

Il est également facile de replacer le label au dessus du picto, comme dans la première version :

.formulaire_favori .fav-title {order:1;}
.formulaire_favori .fav-picto {order:2;}

Pour permettre cela, le plugin utilise maintenant des icones vectorielles au format SVG qui peuvent être redimensionnées à volonté.

La feuille de style unique et les pictos sont maintenant dans un sous-dossier css.

Si vous aviez personnalisé les anciennes CSS, cette personnalisation ne sera plus prise en compte et vous retomberez sur l’affichage par défaut.

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 5 April 2020

Discussion

2 discussions

  • J’ai réussi à limiter l’affichage des favoris à la rubrique en cours .Elle affiche les favoris des articles de la rubrique, des sous-rubriques et des articles des sous-rubriques
    Voici

    <div class="w3-panel w3-leftbar w3-sand w3-xxlarge w3-serif"><p>  
    <BOUCLE_auteur(AUTEURS){id_auteur=#SESSION{id_auteur}}{tout}>        
    <B_selections>
    <BOUCLE_selections(FAVORIS){!par maj}{id_rubrique}{categorie ?}{doublons rub}>
            <BOUCLE_rub44(RUBRIQUES) {branche} {!par date} >
       <BOUCLE_sel44(FAVORIS){!par maj}{id_rubrique}{doublons rub}{categorie ?}>      
       #TITRE 
      </BOUCLE_sel44>   
    </BOUCLE_rub44>
    <BOUCLE_articles44(ARTICLES) {branche} {!par date} >
    <BOUCLE_sel(FAVORIS){!par maj}{id_article}{categorie ?}>      
    #TITRE 
    </BOUCLE_sel>   
    </BOUCLE_articles44>
    </BOUCLE_selections>
    </B_selections>
    <p>Il n'y a pas de favori</p>
    <//B_selections>  
    </BOUCLE_auteur>  
    </p></div> 

    Reply to this message

  • Je travaille fort pour faire la boucle qui me permettrait de voir uniquement les favoris de la rubrique dans lequel je suis.
    Les favoris peuvent être des sous-rubriques ou des articles
    J’ai essayé

    <BOUCLE_zz(AUTEURS) {id_auteur=#SESSION{id_auteur}}{tout}>  
    <B_selectionszz>
    <div id="selection" class="liste favoris[ (#ENV{categorie})][ (#ENV{class})]">
    <h4>[(#ENV{titre,<:mesfavoris:mes_favoris:>})] dans ce projet</h4>
    [<p class="pagination">(#PAGINATION)</p>]
    <ul class="liste-items">
    <BOUCLE_selectionszz(FAVORIS){!par maj}{id_auteur}{categorie ?}{pagination #ENV{pagination,10}}>
    <BOUCLE_projetzz(RUBRIQUES){id_parent}>
    <BOUCLE_projet_artzz(ARTICLES){id_article}{branche}>
    <li class="item">
    <a href="#INFO_URL{#OBJET,#ID_OBJET}">#INFO_TITRE{#OBJET,#ID_OBJET}</a>
    <span class="date"><span class="sep"> - </span>[<:mesfavoris:ajoute_le:> (#MAJ|affdate_court)] [dans la catégorie (#CATEGORIE)]</span>
    [(#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})]]
    </li>
    </BOUCLE_projet_artzz>
    </BOUCLE_projetzz>
    </BOUCLE_selectionszz>
    </ul>
    [<p class="pagination">(#PAGINATION{#ENV{type_pagination,''}})</p>]
    </div>
    </B_selectionszz>
    <p>Il n'y a pas de favori </p>
    <//B_selectionszz>
    </BOUCLE_zz>

    Reply to this message

Ajouter un commentaire

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