Champs extras — utilisation dans les squelettes

Cet article explique comment utiliser des Champs Extra dans les squelettes.

Valeur d’un champ

Les champs extras sont comme les autres champs d’une table SQL, interrogeables en utilisant #NOM_DU_CHAMP.

Pour afficher donc le résultat d’un champ il suffit d’utiliser son nom. Le champ est d’autre part éditable avec la classe CSS #EDIT{nom_du_champ} si vous avez le plugin Crayons :

<p class='#EDIT{documentation}'>#DOCUMENTATION</p>

Valeur d’un champ multiple (cases à cocher, boutons radios,...))

Pour afficher la liste des valeurs de cases à cocher saisies par l’utilisateur, vous pouvez utiliser la balise #LISTER_VALEURS{nom_du_champ} :

#LISTER_VALEURS{hobbies} : Musique, Danse, ...
#LISTER_VALEURS{hobbies, ' / '} : Musique / Danse / ...
#LISTER_VALEURS**{hobbies} : tableau des résultat à exploiter par exemple avec une boucle POUR

Les valeurs affichées sont les valeurs lisibles par les humains, et non pas les valeurs informatiques brutes.

Pour afficher la liste des possibilités qu’il y avait de saisies, vous pouvez utiliser de la même manière #LISTER_CHOIX{nom_du_champ}

#LISTER_CHOIX{hobbies} : Musique, Danse, ...
#LISTER_CHOIX{hobbies, ' / '} : Musique / Danse / ...
#LISTER_CHOIX**{hobbies} : tableau des résultat à exploiter par exemple avec une boucle POUR

Informations sur une saisie

Enfin, vous pouvez récupérer n’importe quelle information sur la saisie associées au champ en utilisant la balise #CHAMP_EXTRA{nom_du_champ}. Elle récupère tout le tableau d’information connue sur le champ extra. Cependant, elle est surtout utile pour afficher un des éléments #CHAMP_EXTRA{nom_du_champ, element} tel que le label :

#CHAMP_EXTRA{documentation,label}
#CHAMP_EXTRA{hobbies,label}
#CHAMP_EXTRA{hobbies,explication}

Discussion

One discussion

  • 5
    mathieu

    Bonjour,

    Je viens de mettre à jour les plugins :
    « Champs Extras » (de la version 3.12.1 à 3.14.2)
    « Champs Extras (Interface) » (de la version 3.5.8 à 3.5.9)

    Première chose que je constate, c’est que mes champs extras de type « selection multiple » ne sont plus éditables... Cela me renvoie des :
    « Warning: array_walk_recursive() expects parameter 1 to be array, null given in C:\wamp64\www\test\plugins\auto\saisies\v3.53.2\formulaires\construire_formulaire.php on line 183 »

    Est-ce qu’il y avait une manipulation à faire avant de procéder à la mise à jour ?

    Ensuite, pour ces « selection multiple », que j’ai copié dans des « Liste déroulante (ou sélection) », lorsque je veux afficher les valeurs dans une boucle avec #LISTER_VALEURS{cextra}, cela m’affiche « sous-groupe : valeur » alors qu’avant ça ne m’affichait que « valeur », ce qui me convenait très bien.

    Est-ce qu’il y a un argument à ajouter pour ne pas afficher le « sous-groupe » ?

    Pour mieux comprendre, voici ce que contient mon champs extra :

    *Sous-groupe 1
    1|valeur 1
    2|valeur 2
    *Sous-groupe 2
    3|valeur 3
    4|valeur 4
    • C’est un gros gros debat la question du sous-groupe ou pas.

      Voir ici pour les discussions sur les propositions de réglages

      https://git.spip.net/spip-contrib-extensions/saisies/issues/20

      en attendant tu peux modifier la chaine de langue `saisies_aplatir_tableau_montrer_groupe` et/ou modifier la vue de la saisie (prend plutot l’option modifier la chaine de langue, a priori)

      pour les champs extra selection multiple non editable, je pense que le commit que j’ai fait aujourd’hui sur la branche master de saisies a corrigé le chose. Peux tu tester cette version là https://git.spip.net/spip-contrib-extensions/saisies/archive/master.zip

      a priori c’est parce que les saisies “selection multiple” sont désormais obsolètes, et que je m’étais foiré dans la gestion des saisies obsolètes

    • mathieu

      Merci beaucoup pour ce retour.

      Je veux bien tester la version de saisie mais je suis plutôt novices sur pas mal d’aspects et je ne voudrais pas faire de boulette. Que faut-il faire pour l’inclure dans mes plugins ?

      Je fais un back-up (copier / coller) de mon dossier « site\plugins\saisies » et ensuite je remplace par le contenu du master ?

      EDIT : J’ai modifié la chaine de langue `saisies_aplatir_tableau_montrer_groupe` en copiant le fichier dans le dossier ...\squelettes\lang et ça fonctionne parfaitement donc un grand merci pour cet astuce en attendant une éventuelle intégration d’une case à cocher pour afficher ou non le sous-groupe.

    • exactement. Sachant que de toute facon la version officiellement stable du plugin reste disponible.

      Par contre sur la chaine de langue : tu peux ne pas surcharger l’ensemble du fichier de langue. Autrement dit dans squelettes/lang/saisies_fr.php, tu peux n’avoir que la chaine de langue que tu surcharge. Cela te permet de profiter des éventuelles corrections sur les autres chaînes.

    • mathieu

      Merci beaucoup Maïeul pour les retours.

      J’ai testé le master de « saisies » et effectivement mes « selection multiple » sont de nouveau éditables et qui plus est sans « messages warning ».

      Pour la surcharge, en effet ! Ça paraît tellement évident maintenant que je suis devant le fait accompli. J’en prends bonne note et puis ça permet d’y voir plus clair dans les modifs apportées.

      Encore un grand merci en tout cas pour l’aide ! C’est super sympa !

    • Super,

      bon tout cela sera publié en bonne et dûe forme ce week-end, dès fois qu’entre temps j’ai d’autres correctifs à faire ailleurs.

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

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