Magnet

Le plugin Magnet permet d’aimanter des articles pour les forcer à apparaître en tête dans les listes et sélections d’articles. C’est l’équivalent de l’option « Sticky » des post Wordpress.

Mise en œuvre

Il suffit d’installer le plugin pour qu’il soit opérationnel et utilisable sur un site sans aucune modification des squelettes.

Principe de fonctionnement

Le plugin modifie l’ordre des articles dans les boucles (ARTICLES), en propulsant en premiers résultats les articles aimantés.
Le plugin ne modifie jamais le nombre ni quels articles sont retournés par une boucle. Seul l’ordre est modifié lorsqu’un ou plusieurs articles aimantés sont inclus dans les résultats d’une boucle.

En pratique le plugin permet par exemple de sélectionner les articles qu’on veut voir en home page d’un site SPIP utilisant les squelettes-dist/ sans aucune modification des squelettes.

Une fois activé, le plugin ajoute un bouton d’administration sur les pages articles qui indique si l’article est aimanté ou non.

Au survol, l’action « Aimanter » apparait, et un clic aimante l’article.

Le bouton indique maintenant que l’article est aimanté, au 1er rang. Et voilà, votre article aimanté va apparaître en premier sur la page d’accueil du site, ainsi que dans la rubrique à laquelle appartient.

Un bouton avec une flèche vers le bas permet aussi de le faire descendre d’un rang si plusieurs articles sont aimantés.

Un clic modifie le rang, et fait apparaître un troisième bouton avec une flèche vers le haut pour faire remonter l’article.

Vous n’avez besoin de rien de plus pour commencer à utiliser le plugin sur votre site.

Balise #BOUTONS_ADMIN_MAGNET

Toutefois, vous pouvez aussi utiliser la balise #BOUTONS_ADMIN_MAGNET. Cette balise attrape automatiquement le #ID_ARTICLE de la boucle dans laquelle elle est, et affiche les boutons d’administration du plugin à l’endroit où elle est insérée, pour l’article considéré.
Les boutons d’administration ne sont bien sûr visibles que pour les administrateurs du site !

Ainsi cette balise peut-être ajoutée sur tous les articles de la liste des articles récents en home pour permettre de directement administrer cette liste depuis la home sans aller sur chaque page article.

Critères {magnet} et {ignore_magnet}

Dans le cadre d’une utilisation avancée du plugin, il est possible d’utiliser ces 2 critères pour modifier le comportement des boucles (ARTICLES).

{magnet}
Le critère {magnet} permet de ne sélectionner que les articles aimantés. A contrario, {!magnet} permet de les exclure et donc de ne selectionner que les articles non aimantés.

{ignore_magnet}
Le critère {ignore_magnet} permet lui d’ignorer l’effet magnétique, et de rétablir l’ordre original des articles comme si aucun article n’était aimanté.

Discussion

2 discussions

  • 1

    Bonjour,

    Je n’ai plus l’icone Magnet sur mes articles (pourtant coché dans la configuration du plugin)

    Tout marchait bien jusqu’à présent. j’ai seulement mis à jour quelque plugins ces derniers jours mais je ne n’ai pas d’historique des modifications pour trouver le coupable.

    Spip 3.2.5

    • Bonjour,

      Désolé pour le bruit.

      Je ne l’ai plus dans le mais je l’ai retrouvé dans l’article.

    Répondre à ce message

  • 1

    bonjour, merci pour ce super plugin mais... j’ai plusieurs erreurs de ce type, une par objet, qui plantent l’ajax d’un formulaire, une idée ? merci de votre aide
    2019-09-10 09:22:04 195.88.84.110 (pid 25161) :Pub:ERREUR : Erreur 1064 de mysql : You have an error in your SQL syntax ; check the manual that corresponds to your MariaDB server version for the right syntax to use near ’0) as magnet
    FROM thailand.spip_articles AS articles
    WHERE (articles.stat’ at line 1
    in /ecrire/public/composer.php L1005 [sql_select(),calculer_select(),select(),__construct(),create(),f_calculer_langues_utilisees_articles_1568100124_1486213737(),eval(),calculer_langues_utilisees(),calculer_rubriques_if(),objet_editer_heritage(),objet_instituer(),objet_modifier(),formulaires_editer_message_traiter_dist(),traiter_formulaires_dynamiques(),include()]
    SELECT DISTINCT lang, FIELD(articles.,0) as magnet
    FROM synthailand.spip_articles AS articles
    WHERE (articles.statut = ’publie’)
    ORDER BY magnet DESC

    • précision : le formulaire en question c’est editer_message de l’organiseur, qui fonctionne très bien sans magnet en public, très pratique pour partager des agendas...

    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