SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 158 visiteurs en ce moment

Accueil > Documentation > Archives documentation > Des champs multivalués, une alternative ponctuelle aux Extras

Des champs multivalués, une alternative ponctuelle aux Extras

4 février 2004 – par JLuc – commentaires

2 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Cette contrib permet de quicher plusieurs contenus dans un même champ contenant, et de les récuperer au besoin par un filtre.

Spip est tellement pratique qu’il sert pour plein d’autres choses que ce pour quoi il est prévu à l’origine... Pour cela, l’utilisateur affecte des fonctions particulières aux champs des articles et autres objets spip : par exemple, le sous titre contiendra en fait la référence d’un livre, ou le PS la fiche technique d’un produit ... Mais parfois, il arrive qu’il manque de champs prédéfinis !!! Dans sa grande vérsatilité, SPIP propose alors des champs extras (en phase de rodage...), qui, au prix d’une mise en oeuvre un peu technique (c’est pas du presse bouton pour le webmaster), sont d’une utilisation complètement transparente pour le rédacteur.
Cette contribution présente une alternative : les champs multi-contenus, gérés « à la main ».

Pour cela il faut :
-  un formalisme de description d’un champ multi-contenu
-  un filtre pour récupérer un contenu : val_contenu

formalisme

Un champ dont on souhaite qu’il soit multi-contenu doit contenir une suite de couples #clé#valeur du contenu associé à la clé#, où clé est la clé permettant de récupérer le contenu.

Exemple :

Le site d’un voyagiste présente des voyages dans des ARTICLES. Les différents champs standards sont utilisés pour décrire le titre et les caractéristiques principales du voyage. Mais le voyagiste voudrait aussi décrire les caractéristiques du pays traversé, or il n’y a plus que le champ PS de disponible !! Alors on utilisera ce champ PS comme champ multicontenu.

Ainsi, PS contiendra, pour un voyage à Cuba :

#pays#CUBA#
#superficie#110 860 km2 (0,2 x la France)#
#capitale#La Havane#

#population#11 millions d'habitants#
#origines#La majorité de la population cubaine trouve ses racines en Espagne. Plus de 10% de la population de l'île est d'origine africaine, 1% d'origine chinoise et 22% est métissée.#
#langues#espagnol#
#religions#Santerías, catholicisme, protestantisme#

#politique#République communiste#
#président#Fidel Castro# 78 ans en janvier 04 ...
#monnaie#Le peso cubain (le peso convertible, le dollar US)#
 

Notez qu’entre chaque couple, on peut juste mettre un espace, ou aller à la ligne, ou même sauter une ligne pour plus de clarté avec les grands textes dans la zone de saisie, ou bien même, on peut glisser un commentaire.

le filtre

définition

Le filtre val_contenu doit être défini dans mes_fonctions.php3 :

domaine d’application

A priopri, tous les champs de tous les objets peuvent en bénéficier : TITRE, SOUSTITRE, SURTITRE, DESCRIPTIF, TEXTE, CHAPO, PS, NOM_SITE, ..., pour les ARTICLES, les BREVES, les AUTEURS, les RUBRIQUES, les DOCUMENTS...

exemple

Toujours dans le cas de l’article sur un voyage à Cuba, PS contenant les multiples contenus définis ci-dessus, le filtre val_contenu permet d’y accéder pour les restituer à leur place adéquate dans le squelette :

[(#PS|val_contenu{"pays"})]
a une superficie de [(#PS|val_contenu{"superficie"})]
et une population de [(#PS|val_contenu{"population"})].
[Origines : (#PS|val_contenu{"origines"})].
On y parle [(#PS|val_contenu{"langues"})].
Sa capitale s'appelle [(#PS|val_contenu{"capitale"})]

Lorsqu’il n’y a pas de valeur correspondant à la clé demandée, la fonction retourne une chaine vide, et il est donc possible de le tester avec les crochets [ et ].

bilan

Le moinss : Cela demande aux rédacteurs de se conformer au formalisme #clé#valeur de la clé# etc... Si c’est pas envisageable, il faudra les EXTRA !

Le plus : C’est souple puisque c’est appelé par les squelettes et qu’on peut définir très finement le contexte d’utilisation : tout le site, ou juste un secteur, ou juste une rubrique, ou juste un article...

Questions / Réponses

-  Pourquoi / quand utiliser cette contrib plutôt que les champs extra ?

Quand tu le sens. Quand tu n’as pas cherché la doc pour les EXTRAs et que tu ne peux donc pas les utiliser. Quand tu as trouvé la doc pour les EXTRA et que tu te sens pas de les utiliser. Quand tu veux quelquechose d’un peu plus contexte-localement-utilisable. Quand tu tombes sur cette contrib et que ça répond à tes besoins.

-  Est-il prévu/envisagé de modifier articles_edit pour générer un formulaire (en fait, autant de input que de champs) au lieu du champs ?

Pas du tout. Les champs EXTRAs sont très bien pour ça.

-  Il y a des # dans mes textes, je peux pas m’en servir comme ça, comment je fais ?

Le caractère # a été choisi car il est rarement utilisé dans les textes. Si il ne convient pas à un contexte donné, il est possible de le remplacer par un autre caractère, ou par une séquence plus rare de caractères, en modifiant le filtre en conséquence.

-  « Quicher » ça veut dire quoi ?

« quicher », c’est patoisant surement ; ça veut dire « mettre, remplir, serrer, tasser ». Les filles qui emploient cette expression ont souvent un joli sourire, ça me plait de le mettre comme ça ... Comme le « moinss », c’est un clin d’œuil hommage à la diversité de nos régions.

Dernière modification de cette page le 7 mai 2010

Retour en haut de la page

Vos commentaires

  • Le 17 janvier 2006 à 16:03, par Pascale En réponse à : Filtre val_contenu pour champs multi-contenu

    J’utilise le filtre avec spip 1.8.2e. Il y un problème si le texte filtré contient ’ ou ° : le texte est coupé et & apparaît à la place du texte manquant.

    J’ai essayé de l’utiliser avec le filtre texte_script mais cela ne change rien.

    Si quelqu’un a une idée, merci d’avance !

    Répondre à ce message

  • Le 11 juillet 2004 à 11:50, par Kurgbe En réponse à : > Filtre val_contenu pour champs multi-contenu

    Idée assez géniale : facile à mettre en oeuvre, flexible et puissante !

    Que se passe t’il au niveau du moteur de recherche SPIP ? Je suppose que le nom des champs et leur contenu sont indexés.

    J’envisageais d’utiliser ton approche pour encapsuler de l’information interne aux rédacteurs dans les articles, information qui ne serait pas visible par les visiteurs de mon site. Evidement avec l’indexation SPIP, je pense que cela ne marcherait pas.

    Michel

    Répondre à ce message

  • Le 8 juillet 2004 à 17:28, par ? En réponse à : > Filtre val_contenu pour champs multi-contenu : pb avec spip 1.7

    La version 1.7 de Spip code certains caractères et notamment l’apostrophe, ce qui fait que le filtre se retrouve avec des # partout et s’emmêle les pinceaux…

    Répondre à ce message

  • Le 1er juin 2004 à 16:28, par Dams En réponse à : > Filtre val_contenu pour champs multi-contenu

    Salut, super contrib, merci :D

    Juste une question, je souhaiterais comparer cette technique avec la technique d’extra... je cherche la doc depuis un moment... mais je ne sais pas où elle se cache.

    Serait-il possible d’avoir un lien depuis cet article ?

    Meci d’avance

    Répondre à ce message

  • Le 25 février 2004 à 17:11, par nico En réponse à : > erreur syntaxe ?

    très sympa et simple à mettre en oeuvre

    par contre au niveau syntaxe, ça serait plutôt :

    [(#PS|val_contenu{"pays"})] a une superficie ...

    Amicalement

    Répondre à ce message

  • Le 25 février 2004 à 11:22, par Renaud En réponse à : > Filtre val_contenu pour champs multi-contenu

    Bonjour,
    Cette contribution paraît bien intéressante. Peut-on voir quelque part un exemple en ligne ? De mon côté, je cherche à mettre sur site de façon très simple, si possible sur SPIP, toute une bibliothèque de livres : auteur, titre, éditeur, année, lieu... pour une petite librairie. L’idéal serait de mettre la base à jour sur Exel par exemple et de l’interfacer avec SPIP, mais je ne suis pas programmeur !... si quelqu’un a des solutions séduisantes à me proposer, je suis preneur !...
    Merci en tout cas pour cette proposition.

    Amicalement,

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • cimobile : plugin « détection et aiguillage des téléphones mobiles »

    20 septembre 2011 – 113 commentaires

    Le plugin « cimobile » détecte les téléphones mobiles et les aiguille vers le jeu de squelettes correspondant. Pour détecter un mobile, il prend en compte le « User-Agent », un cookie, un paramètre d’URL, une URL spécifique pour mobile. Il n’utilise pas (...)

  • ScolaSPIP 4

    19 janvier 2016 – 276 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • SPIP 3, Agenda et FullCalendar

    6 août 2012 – 317 commentaires

    Depuis SPIP 3, l’affichage d’un agenda sous forme de calendrier par jour/semaine/mois à changé. Les filtres |agenda_memo et apparentés sont désormais obsolètes. Il en est de même pour les filtres agendafull_memo et apparentés du plugin Agenda. (...)

  • Couleur de Rubrique

    9 juin 2012 – 58 commentaires

    Le plugin Couleur de rubrique est maintenant adapté à SPIP3. Il permet d’attribuer une couleur par rubrique de façon très simple : un bloc est ajouté sur la page rubrique de l’administration de votre site, qui vous permet de déterminer une couleur, de (...)

  • Passer un site SPIP sous https://

    23 février – 15 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)