[spip-dev] problème avec affichage publique champ extra

Bonjour,

Sous SPIP 3.0.0-beta2 [19020], j’ai un problème avec l’utilisation de l’interface « Champs Extras de : article » :

J’ai créé des champs extras de type « Ligne de texte » et de type « Liste déroulante » pour les ajouter les valeurs qui en découlent aux articles du site que je suis en train de développer.

et là, je suis face à un résultat étrange :

Pour les champs extra « Ligne de texte », pas de problème :

  1. dans l’interface « Champs Extras de : article », je crée un nouveau champ « Ligne de texte »
  2. Nom du champ : input_3
  3. Label : Prix
  4. Définition SQL : text DEFAULT ‘’ NOT NULL1. Je valide,
  5. j’enregistre,
  6. dans le formulaire de saisie d’article je saisie « 10 » dans le champ « Prix »
  7. J’enregistre
  8. l’article en espace privé affiche « Prix 10 »
  9. dans le squelette j’ai ajouté « [
    Prix : (#INPUT_3) € TTC
    ] »
  10. l’article en espace public affiche « Prix : 10 € TTC »

MAIS pour les champs extra « Liste déroulante », PROBLÈME ! :

  1. dans l’interface « Champs Extras de : article » je crée un nouveau champ « Liste déroulante »

  2. Nom du champ : selection_6

  3. Label : Taille

  4. Liste des choix possibles : choix1|S
    choix2|M

    choix3|L

    choix3|XL

  5. Définition SQL : text DEFAULT ‘’ NOT NULL1. Je valide,

  6. j’enregistre,

  7. dans le formulaire de saisie d’article je choisit « M » dans la liste déroulante « Taille »

  8. J’enregistre

  9. l’article en espace privé affiche « Taille M »

  10. dans le squelette j’ai ajouté « [

    Taille : (#SELECTION_6)
    ] »

  11. l’article en espace public affiche « Taille : choix2 » au lieu de « Taiile : M »

Pourquoi dans le cas des champs « Ligne de texte » c’est OK, mais que ce n’est pas le cas pour les champs « Liste déroulante » ?

Une idée ?

Merci d’avance

Hervé Le Dantec — Fennec72 (sur spip-contrib, notamment)

Le 28/02/2012 17:36, Hervé Le Dantec a écrit :

Bonjour,

*Sous SPIP 3.0.0-beta2 [19020], j'ai un problème avec l'utilisation de
l'interface « Champs Extras de : article » :*

J’ai créé des champs extras de type « Ligne de texte » et de type «
Liste déroulante » pour les ajouter les valeurs qui en découlent aux
articles du site que je suis en train de développer.

*et là, je suis face à un résultat étrange :*

/*Pour les champs extra « Ligne de texte », pas de problème :*/

1. dans l'interface « Champs Extras de : article », je crée un nouveau
    champ « Ligne de texte »
     1. Nom du champ : input_3
     2. Label : Prix
     3. Définition SQL : text DEFAULT '' NOT NULL
2. Je valide,
3. j'enregistre,
4. dans le formulaire de saisie d'article je saisie « 10 » dans le
    champ « Prix »
5. J'enregistre
6. l'article en espace privé affiche « *Prix* 10 »
7. dans le squelette j'ai ajouté « [<div>Prix : (#INPUT_3) &euro;
    TTC</div>] »
8. l'article en espace public affiche « Prix : 10 € TTC »

/*MAIS pour les champs extra « Liste déroulante », PROBLÈME ! :*/

1. dans l'interface « Champs Extras de : article » je crée un nouveau
    champ « Liste déroulante »
     1. Nom du champ : selection_6
     2. Label : Taille
     3. Liste des choix possibles : choix1|S
        choix2|M
        choix3|L
        choix3|XL
     4. Définition SQL : text DEFAULT '' NOT NULL
2. Je valide,
3. j'enregistre,
4. dans le formulaire de saisie d'article je choisit « M » dans la
    liste déroulante « Taille »
5. J'enregistre
6. l'article en espace privé affiche « *Taille* M »
7. dans le squelette j'ai ajouté « [<div>Taille : (#SELECTION_6)</div>] »
8. *l'article en espace public affiche « Taille : choix2 » au lieu de «
    Taiile : M »*

*
Pourquoi dans le cas des champs « Ligne de texte » c'est OK, mais que ce
n'est pas le cas pour les champs « Liste déroulante » ?
*
*Une idée ?*

Merci d'avance

Hervé Le Dantec — Fennec72 (sur spip-contrib, notamment)

Bonjour,

Pour les questions liées à l'utilisation de spip, il faut utiliser la liste spip users.
Pour répondre à ton problème, la doc indique la balise #LISTER_VALEURS{nom_du_champ} pour les choix multiples.
Donc dans ton cas #LISTER_VALEURS{selection_6}

cf Champs Extras — introduction - SPIP-Contrib

Tiens, j'avais oublié la liste dans la réponse.

J'ajoute que tu peux nommer tes champs plus sémantiquement aussi : "selection_6" cela ne semble pas très parlant ! Tout comme tu peux nommer tes clés de champs extras «choix2» n'est pas très parlant non plus.

Attention, si tu changes le nommage des clés dans champs extras (radio, sélections...), les contenus eux dans tes articles ne sont pas changés ! C'est donc une opération à faire le plus tôt possible, par exemple au moment de la création du champs, sinon, il faut ensuite repasser sur les articles pour les corriger après le changement, ou passer par phpmyadmin faire un remplacement avec une bonne requête SQL.

MM.