Sélections éditoriales

Faites des listes de choses intéressantes.

Ce plugin permet de gérer des listes de contenus quelconques de manière éditoriale. Chaque sélection est donc entièrement libre, et peut renvoyer aussi bien vers des contenus internes au SPIP quels qu’ils soient (article, événement, etc) que vers des liens externes. Chaque contenu sélectionné est personnalisable finement : URL, titre, descriptif et image lorsqu’on en a besoin.

Ce plugin vise à remplacer les bidouilles que l’on fait parfois (ou souvent) pour permettre aux admins de gérer manuellement leur page d’accueil, ou encore pour faire des listes de choses à voir en plus à la fin d’un contenu.

Ma première sélection

La page listant toutes les sélections se trouve dans le menu Édition => Sélections éditoriales.

Une sélection a

  • un titre,
  • un descriptif, qui peut être utilisé uniquement pour les admins, afin de donner des indications éditoriales telles que la taille recommandée pour les images,
  • un identifiant textuel pour appeler facilement la sélection dans vos squelettes,
  • et une limite optionnelle qui permet d’améliorer un peu l’ergonomie en bloquant l’ajout de contenus lorsqu’on l’atteint.
Édition générale d'une sélection éditoriale
Édition générale d’une sélection éditoriale

Ajouter des contenus

Une fois votre sélection crée, vous pouvez commencer à ajouter des contenus à l’intérieur, depuis sa page d’admin.

Interface d'ajout ou de modification des contenus sélectionnés
Interface d’ajout ou de modification des contenus sélectionnés

Un lien vous permet d’ajouter de un nouveau contenu (①). Lorsque l’on clique, un formulaire d’ajout de contenu remplace ce lien directement sous la liste. Lorsque vous avez activé une limite et qu’elle est atteinte, ce lien n’apparaît plus.

Lorsque des contenus sont déjà présent, un bouton de suppression et un lien de modification permettent de… faire ce que ça dit (②).

Enfin pour chaque contenu, il est possible d’ajouter une image. Lorsqu’il n’y en a pas, une hachure est affichée à la place. Il suffit de cliquer sur l’image (hachure ou image déjà présente) pour pouvoir la modifier. (③).

Formulaire d'édition d'un contenu à sélectionner
Formulaire d’édition d’un contenu à sélectionner

Dans le champ URL, il est possible de mettre un URL complet, par exemple pour un site externe, ou bien fournir un contenu SPIP avec son type et son identifiant (evenement1234).

Le plugin sert avant tout à lister des contenus ailleurs, mais il est possible de ne pas remplir l’URL du tout, ce qui en fait alors un élément arbitraire qui est un contenu en soi.

Si vous omettez le titre, il sera remplit auto-magiquement grâce à l’URL. Soit avec le titre du contenu SPIP, soit avec le titre HTML de la page si c’est un URL complet.

Pour ordonner les contenus, on peut les glisser-déplacer, et des boutons permettent de changer l’ordre.

Des sélections pour compléter vos contenus SPIP !

En plus de pouvoir créer des sélections “autonomes”, le plugin permet aussi d’ajouter des sélections à la suite de n’importe quel contenu de SPIP.

Pour cela, il faut configurer le plugin pour autoriser ces ajouts sur les types de contenus de votre choix (articles, événements, newsletters, etc).

Après cela, il suffit de vous rendre sur la page d’admin d’un de vos contenus (un article par exemple). Vous avez alors un lien permettant d’insérer une nouvelle sélection éditoriale (④). Dès que c’est ajouté, vous pouvez construire votre sélection directement au même endroit (sous l’article ⑤), sans être obligé d’aller sur la page de la sélection (mais c’est possible aussi en cliquant sur son titre ⑥).

Édition des sélections liées à un contenu (ici une infolettre)
Édition des sélections liées à un contenu (ici une infolettre)

Exemples d’utilisations

Pour gérer manuellement les contenus d’une page d’accueil

Pour gérer une ou plusieurs listes d’actualités. Vous pouvez par exemple prendre le premier contenu d’un sélection, l’afficher en énorme, puis lister les autres contenus de la même sélection en plus petit à la suite.

Ou si vous avez cédé au démon de votre commanditaire, pour gérer manuellement les contenus d’un carrousel. :D

Pour gérer manuellement des listes du type “Voir aussi”

Il est possible d’ajouter des sélections liées à n’importe quel contenu de SPIP. Vous pouvez donc activer les sélections sur les contenus “Articles”, et ajouter une ou plusieurs listes à la suite d’un article. Cela vous permet ensuite dans vos squelettes, d’afficher des listes de contenus annexes en rapport avec le contenu principal. Et cela peut aussi bien être des pages internes que des sites externes. Pratique !

Pour gérer finement les contenus de vos newsletters

Le plugin Newsletter permet déjà de lier des contenus SPIP à une newsletter. Mais c’est une liaison très simple, qui ne permet pas de contrôler les titres, le descriptif, les images, etc.

Une solution est donc d’activer les sélections sur les Newsletters. Une fois que vous avez écrit le texte principal, vous pouvez ajouter une sélection, et dans le squelette de l’email, vous pouvez l’utiliser pour l’afficher comme vous le voulez.

Utilisation dans vos squelettes

Récupérer une sélection autonome avec son identifiant

Exemple d’affichage d’une sélection d’actualités, avec le titre du bloc reprenant le titre de la sélection, et en limitant à 3 contenus histoire de contrôler encore plus.

<BOUCLE_actualites(SELECTIONS){identifiant=actualites}>
<B_actualites_contenus>
<div class="liste selections actualites">
	<h2>#TITRE</h2>
	<ul class="liste-items">
		<BOUCLE_actualites_contenus(SELECTIONS_CONTENUS){id_selection}{0,3}{par rang}>
		<li class="item [(#CHAMP_SQL{css}|attribut_html)]">
			<article class="entry contenu hentry">
				[(#LOGO_SELECTIONS_CONTENU|image_passe_partout{600,300}|image_recadre{600,300}|image_aplatir{jpg,ffffff}|adaptive_images{600})]
				<div class="texte">
					<strong class="titre entry-title"><a href="#URL"><span[ class="(#EDIT{titre})]">#TITRE</span></a></strong>
					[<div class="[(#EDIT{descriptif}) ]descriptif entry-content ">(#DESCRIPTIF|couper{80,'…'})</div>]
				</div>
			</article>
		</li>
		</BOUCLE_actualites_contenus>
	</ul>
</div>
</B_actualites_contenus>
</BOUCLE_actualites>

updated on 7 November 2019

Discussion

24 discussions

  • 3
    Spipmalion

    Bonjour,

    Merci pour ce travail
    La description des objets sélectionnés n’est pas reprise quand on tape un code de type article123 breve123, ça ne prend que le titre et le logo, pas la description, c’est normal ?

    Cordialement

    • Oui il n’y a pas de possibilité générique, le titre est générique, tout contenu a un titre. Mais le descriptif c’est un truc facultatif, et qui est propre à la mise en avant dans le contenu et en plus suivant le contenu on n’a aucun moyen de savoir quoi prendre, il n’y a aucun champ toujours pareil générique pour ça (alors que le titre oui).

    • Spipmalion

      On fait comment pour récupérer l’id de l’objet et boucler dessus dans cette boucle ?

      1. <BOUCLE_actualites_contenus(SELECTIONS_CONTENUS){id_selection}{0,99}{par rang}>

      Exemple, c’est un article, on fait une boucle article et on récup le chapeau ou la description

    • Tu as des champs #OBJET et #ID_OBJET. Tu ne peux pas faire des boucles dynamiques où tu ne connais pas d’avance le type d’objet mais par contre tu peux prévoir pour les objets que tu connais, comme par exemple en faisant :

      1. <BOUCLE_si_article(ARTICLES){id_article=#ID_OBJET}{si #OBJET|=={article}}>

    Reply to this message

  • Spipmalion

    Bonjour, pour info le filtre adaptive_images{} dans l’exemple de code squelette provoque une erreur chez la plupart des sites qui n’ont pas le plugin tiers installé

    Cordialement

    Reply to this message

  • 1

    Bonsoir à tous,

    Ce plugin est génial, merci, j’ai juste un petit souci avec :
    Je change l’ordre des articles dans l’interface privée, il le prend en compte, mais dès que je reviens vers le site public, l’ordre n’a pas changé. J’ai l’impression qu’il garde l’ordre alphabétique.

    J’ai repris bêtement l’exemple du squelette. Ai-je oublié quelquechose?
    D’avance merci.

    • Oui merci oui, puisque l’exemple donnait l’ancienne méthode {par num titre, titre} ce qui ne classe pas {par rang}.

    Reply to this message

  • 19

    Bonjour,

    ça remplace ou est une évolution du plugin Grappes en quelque sorte donc ?

    ++

    • Ni l’un ni l’autre, ça n’a aucun rapport. :D

      Il ne s’agit à aucun moment de faire des boucles pour obtenir des #ID (il n’y en a même pas d’enregistré, même si ça pourrait être ajouté en plus). Le but de ce plugin est d’obtenir de l’éditorial : un lien en premier lieu, avec un titre, un texte, une image. Qui peuvent parfaitement n’avoir aucun rapport avec un lien d’un objet SPIP (ça peut être un autre contenu interne page=truc ou une page externe).

      Ce plugin sert à faire des choix éditoriaux, pas des listes abstraites d’objets SPIP (même si les choix éditoriaux peuvent contenir, et contiennent même souvent, des objets SPIP).

    • ok, effectivement rien a voir, chaque nouvelle sélection est personnalisable.

      ça évite d’être limité effectivement dans les objets d’une grappe au logo, descriptif court ou autre de l’objet, si je comprends bien...

    • Le but est effectivement de pouvoir personnaliser les textes et l’image liée à la sélection. En effet, sur une page d’accueil, on peut vouloir une grande image de mise en avant alors même que dans l’article final il n’y a aucun image, ou que des images plus petites ou que des images d’illustration interne à l’article, mais pas de grande image de “com”. Pareil pour titre et descriptif, on peut vouloir écrire des choses spéciales (plus court, plus percutant) quand c’est pour animer une page (que ce soit l’accueil complet du site ou des accueils de rubrique aussi pourquoi pas).

      Et au passage comme le plugin sait faire des “listes de choses arbitraires, mais avec de l’éditorial”, il sait alors aussi faire des sélections liées à d’autres contenus. Ce qui permet de faire des “Voir aussi” (où là on a encore plus souvent besoin de pouvoir faire des liens externes que sur un accueil). Je m’en sers aussi pour gérer une partie “liste éditoriale” dans les newsletters en plus de l’édito, car sinon il n’y a que des listes automatiques (ou que des listes d’articles et sans pouvoir choisir l’ordre et les textes précis).

    • Effectivement ça fait un peut plus de contenu a travailler, mais beaucoup moins limité que les grappes comme j’utilise actuellement dans les cas que tu énonce : sélection d’actus, newsletter, colonne aside.

      Notamment depuis quelques temps je cherchais une solution pour, justement avoir un titre court et un descriptif qui incite au clic, complètement différent pourquoi pas du contenu réel.

      Ça répond a cette problématique. Bravo et merci

      Reste le tri via drag/drop ;-) je l’avais mis sur grappes c’est pratique pour le rédacteurs quand même.
      manque juste le champ RANG ou ce sera différent comme implémentation si prévu ?

    • Ce sont des objets avec un titre, donc tu peux parfaitement utiliser les numéros de tri comme pour tous les autres objets : (SELECTIONS_CONTENUS){id_selection}{par num titre} avec des “10. Truc” et “20. Machin” dans les titres des sélections. D’ailleurs… le plugin pré-numérote lui-même les titres au fur et à mesure que tu en ajoutes.

      Ce serait très bien d’ajouter en plus le drag’n’drop en plus pour celleux qui ont javascript, c’est juste que j’ai fait avec le temps imparti… :D
      Soit en ajoutant un champ (pas forcément utile) ou alors en re-numérotant directement les titres d’une même sélection dès qu’un drag-n-drop est fait (de 10 en 10 comme le plugin Numérotation c’est mieux).

    • c’est juste que j’ai fait avec le temps imparti

      J’imagine ^^ ...

      C’est vrai que étant utilisables uniquement dans un seul contexte le numerotage par num titre est moins problématique, j’aime moins cette solution pour les articles ou autres.

      Soit en ajoutant un champ (pas forcément utile) ou alors en re-numérotant directement les titres d’une même sélection dès qu’un drag-n-drop est fait (de 10 en 10 comme le plugin Numérotation c’est mieux).

      j’vais tester ça , l’option deux me parait effectivement la plus judicieuse du coup 1 ;-)

    • Et voili !!

      Un ptit proto, ça fonctionne pas mal aux premiers test ... C’est la :

      Selection editoriale - Avec Drag/drop

      A++ et bon we

    • Tu sais que tu as le droit d’avoir un compte sur le dépôt de SPIP-Zone et de participer à l’effort commun plutôt que de le copier en loucedé dans ton coin ? :D

    • Oui je sais bien ;-)
      il y’a de multiples de manière de participer a un effort commun ..
      Je prefere juste ne pas publier/travailler/proposer directement sur un espace ou sont générés les paquets automatiquements, risquant de rendre un plugin infonctionnel ...
      je ne dois pas être le seul a avoir un dépot svn public et persso, ça permet de proposer une chose et après l’auteur dispose, un peut comme les pull-request de GitHub ...

    • Euh les paquets ils ne sont générés que dans les chemins précis définis dans archivelist.txt hein. Donc si tu ajoutes un dossier ce n’est absolument pas généré en paquet, et personne ne le verra à part les utilisateurices de SVN : svn cp trunk branches/dragndrop

    • Spipmalion

      Mist. GraphX tu saurais mettre le tri via drag/drop sur les rubriques et articles des sites spip ?

    • ç’est pas forcément le bon lieu pour attaquer un sujet comme celui la, un message privé aurait été mieux.

      Je répondrais ça dépend du Contexte, et du budget (car je n’en ai pas l’utilité pour moi ou un de mes projets).

      Si ça n’as pas été fait c’est que ça poses des problèmes évidents de contexte , on peut assez facilement l’ajouter sur des objets et les classer dans leur conteneur comme les grappes ou les selections, le faire pour les rubriques ou articles est beaucoup plus complexe (pour le faire bien, maintenable, et que ça ne pête pas a la prochaine version de spip) autant dire que je ne suis pas assez au fait des évolutions prévues du core pour m’embarquer a coder un truc qui sera a refaire en 3.2.

      En fait plusieurs méthodes ou balises on étés déjà évoquées, donc plusieurs pistes comme le champ #RANG sur les tables de lien ou comme le numérotage de rubriques ou articles, mais rien n’est statué et vraiment générique partout j’ai l’impression. Personnellement je préfère la méthode du champ Rang sur les tables de lien, ça colle plus avec mes habitudes d’utilisation de spip et permet autant de classements que de contextes.

      Bref à ta place je m’adresserais plutot à un core dev comme Cedric ou Rastapopoulos ou Marcimat plutôt qu’a moi ...

    • Spipmalion

      Merci pour ces infos Mist. GraphX

      Après avoir eu des retours sur SPIP de la part de 600-700 personnes ces dernières années, c’est un des points principaux qui revient tout le temps : ces histoires de numéros devant chaque titre qui font perdre, selon eux, toute crédibilité au CMS

      Mosaïque par exemple a été une grande avancée pour ordonner les photos dans le portfolio d’un article

      ça sera pour une autre fois alors :-)

    • Ha effectivement, je n’utilise le classement imposé que dans des contextes (grappes, selections editoriales, portfolio, noisettes …). Dans des listes, pages rubriques généralement le classement par date est suffisant : on s’en sort largement sinon en faisant une grappe afin de sélectionne les articles/objets a mettre en avant et de les classer.
      A savoir que : je n’utilise pas de squelettes généralistes ou configurables a outrance, je ne fait quasiement que du site a la demande pour un besoin bien précis : ça veut dire pas de mots techniques,pas de numéros, ou autres bidouilles du genre, je fait un squelette qui assemble mes collections de noisettes en gros et pour une problématique client/métier bien définie.
      C’est peut être pour ça que je n’ai pas les mêmes retours. Moi ils se débrouille sans doc et j’ai pas a expliquer la plupars du temps.

      Cela dit pour tes retours, sur 600 à 700 personnes, si ils mettent ou avaient mis 2€ par personne y’a surement un dev qui se serait interressé pour y consacrer une journée. Et la fonction serait disponible ;-)

      A++

    • Bonjour

      @ratapopoulos : j’ai créé la branche/selections_editoriales_dragdrop, et envoyé la version

      bonne journée

    • Yep, j’ai vu, c’est super merci !
      Il faut maintenant que je trouve du temps pour tester cette version (ça ne modifie rien au shéma général, c’est juste des modifs d’interface ?). Et du coup fusionner dans le trunk si c’est ok.

    • Il faut maintenant que je trouve du temps pour tester cette version

      Ou, c’est pas le plus simple ;-)

      ça ne modifie rien au shéma général, c’est juste des modifs d’interface ?

      J’ai fait, un copie, puis un diff/merge sur ma version qui datait pour être a jour avec le trunk, et j’ai juste reporté mes modifs :
      -  ajout d’un fichier action/trier_ action appelée lors du déplacement
      -  ajout d’id/selecteurs et du javascript sur la liste de selections_contenus
      -  ajout de la pipeline selections_editoriales_jqueryui_forcer, charge les composants sortable juste pour le privé
      donc a priori, oui c’est bon, et dans l’historique svn de la banche tu dois voir toute les modifs

    • Au fait, ça a été intégré le drag’n’drop pour trier ou pas du coup ?

    Reply to this message

  • 2

    Idéalement dès lors que l’on utilise les sélections éditoriales pour configurer des sélections devant apparaître dans le squelette il pourrait être intéressant que la modification soit réservée au webmestre (possibilité de verrouiller comme c’est le cas dans le plugin compositions par exemple).

    • Le webmestre c’est plutôt un statut correspondant à des opérations techniques ou à des choix techniques, qui ne doivent plus du tout bouger, sinon ça pète le site (comme parfois, pas toujours, pour compositions, où il FAUT que telle rubrique est telle composition absolument).

      Alors que là il s’agit plutôt de choix éditoriaux, fixés par des gens précis oui, mais qui peuvent bouger plus souvent que des choix techniques. Et ça c’est pour les admins à priori les choix éditoriaux (tout comme le fait de décider ce qui sera publié).

    • Dès lors que l’on définit une sélection éditoriale et qu’on l’appelle dans le squelette pour gérer, par exemple, les articles du diaporama de la page d’accueil, on est bien dans le cas de figure où cette sélection ne doit pas pouvoir être supprimée sans casser le site.

      C’est le cas de l’exemple donné :

      1. <BOUCLE_actualites(SELECTIONS){identifiant=actualites}>

      où si la sélection est supprimée ou l’identifiant modifié in aura plus rien d’affiché.

    Reply to this message

  • 3

    J’ai le message : Undefined filter generer_lien_entite ../plugins/auto/selections_editoriales/v1.6.12/prive/squelettes/inclure/selection_infos.html dans la boucle _liens

    Je suis en SPIP SPIP 3.0.24

    Reply to this message

  • 2

    Je suis en train de tester le plugin et j’avoue avoir un peu de mal avec la sélection qui doit utiliser le raccourci Spip. Ce ne serait pas plus simple et convivial de pouvoir rechercher dans les contenus via une recherche ? Soit arborescente, soit en affichant les résultats lors de la saisie des prermiers caractères ?

    • Installe le plugin Sélecteur générique en même temps et tu auras ce que tu voudrais (seulement pour celleux qui ont javascript par contre…), avec une liste autocomplétion.

    • Merci, c’est super

    Reply to this message

  • 4

    il y a une raison pour que le conteneur sélection éditoriale n’ai pas de classe CSS spécifique possible? ça pourrait éviter de devoir stipuler quelque chose sur chaque enfant…

    • Je rejoins assez cet avis, après quelques mois d’utilisation dans des contextes différents.

      Je passe la classe au conteneur lors de l’appel a mes noisettes/modèle d’affichage des selections, mais pouvoir le spécifier depuis l’admin pourrais être utile dans certains cas.

    • oui oui, bah il faut ajouter un champ “css” dans l’objet Sélection, comme je l’ai fait pour Formidable il n’y a pas longtemps.

    • ok, je finis un chantier et je regarde pour publier ça, demain ou ce WE ;-)

      Merci de ton retour et bonne journée
      @++

    Reply to this message

  • 1

    Salut et merci pour ce plugin !

    J’aimerais ranger des sélections dans des rubriques, pour
    1. Les classer (je compte en faire beaucoup)
    2. Réutiliser un champ commun à plusieurs sélections (la description de la rubrique par exemple)

    J’ai vu qu’il était possible d’ssocier une sélection à une rubrique. Mais ce n’est pas ce que je cherche, moi je voudrais pouvoir ranger plusieurs sélections dans une rubrique.

    Est-ce possible, sans créer un article par sélection ?

    Reply to this message

  • 1

    Bonjour et merci pour ce plugin intéressant.

    je vois un “problème” qui m’empêche de l’utiliser :
    les auteurs peuvent “créer” une sélection éditoriale pour un article, mais ne peuvent pas en fait y ajouter de contenus, ni la modifier ! Idem pour les sélections autonomes !
    Donc ça n’est pas utilisable en fait, mais peut-être que ça vient de ma configuration (j’ai le plugin Autorité ?
    C’est pareil ailleurs ?

    -  L’idéal pour moi serait d’ailleurs que seuls les admins puissent créer des sélections (ou qu’on puissent choisir si auteurs peuvent en créer ou pas).

    (j’ai spip 3.1)

    • J’avoue que je ne teste pas souvent en rédacteurs, mea culpa. Il faudrait que je reteste donc plus en détail parce qu’au niveau du code, en théorie, on est censé pouvoir modifier (et donc ajouter des contenus) dans une sélection, à partir du moment où on fait partie des auteurs de la sélection (donc même quand on est pas admin). Et normalement quand on crée la sélection, on est bien automatiquement ajouté comme auteur.

    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