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 :
dans l’interface « Champs Extras de : article », je crée un nouveau champ « Ligne de texte »
Nom du champ : input_3
Label : Prix
Définition SQL : text DEFAULT ‘’ NOT NULL1. Je valide,
j’enregistre,
dans le formulaire de saisie d’article je saisie « 10 » dans le champ « Prix »
J’enregistre
l’article en espace privé affiche « Prix 10 »
dans le squelette j’ai ajouté « [
Prix : (#INPUT_3) € TTC
] »
l’article en espace public affiche « Prix : 10 € TTC »
MAIS pour les champs extra « Liste déroulante », PROBLÈME ! :
dans l’interface « Champs Extras de : article » je crée un nouveau champ « Liste déroulante »
Nom du champ : selection_6
Label : Taille
Liste des choix possibles : choix1|S
choix2|M
choix3|L
choix3|XL
Définition SQL : text DEFAULT ‘’ NOT NULL1. Je valide,
j’enregistre,
dans le formulaire de saisie d’article je choisit « M » dans la liste déroulante « Taille »
J’enregistre
l’article en espace privé affiche « Taille M »
dans le squelette j’ai ajouté « [
Taille : (#SELECTION_6)
] »
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)
*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) €
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}
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.