Re: Spip4 et formulaires
Jean-Christophe Villeneuve <[email protected]> Fri, 14 May 2021 12:04:17 +0200
| Newsgroups | gmane.comp.web.spip.user |
|---|---|
| Message-ID | <[email protected]> |
Ok merci, j'ai bien mes 3 options qui s'affichent mais pas de titre.
Donc comment indiquer un titre au formulaire ?
JC
Le 14/05/2021 =E0 10:44, Ma=EFeul Rouquette a =E9crit=A0:
> Le 14.05.21 =E0 10:34, Jean-Christophe Villeneuve a =E9crit=A0:
>> Oui, le principe parait simple mais ce sont les diff=E9rentes saisies =
>> possibles qui m'int=E9ressent.
>> Et l'exemple sur la page =
>> https://contrib.spip.net/Formulaire-de-configuration-avec-le-plugin-Sais=
ies =
>> est trop simpliste pour comprendre vraiment.
>>
>> Imaginons que je veuille un formulaire avec juste 3 boutons radio
>>
>> J'ai donc
>>
>> =A0 * un formulaire plus g=E9n=E9ral qui appelle ce formulaire avec
>>
>> =A0=A0=A0=A0 <div class=3D"ajax">
>> =A0=A0=A0=A0 =A0=A0=A0 #FORMULAIRE_CONFIGURER_ESCAL_FAVICON
>> =A0=A0=A0=A0 </div>
>>
>> =A0 * un fichier configurer_escal_favicon.html vide
>> =A0 * un fichier configurer_escal_favicon.php avec
>>
>>
>>
>> <?php
>> if (!defined('_ECRIRE_INC_VERSION')) return;
>>
>> function formulaires_configurer_escal_favicon_saisies_dist(){
>> =A0=A0=A0=A0 // $saisies est un tableau d=E9crivant les saisies =E0 affi=
cher dans =
>> le formulaire de configuration
>> =A0=A0=A0=A0 $saisies =3D array(
>> =A0=A0=A0=A0 =A0=A0=A0 array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'saisie' =3D> 'radio',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'options' =3D> array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'nom' =3D> 'Option1',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'label' =3D> '<:escal:favicon=
_choix1:>'
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 =A0=A0=A0 array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'saisie' =3D> 'radio',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'options' =3D> array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'nom' =3D> 'Option2',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'label' =3D> '<:escal:favicon=
_choix2:>'
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 =A0=A0=A0 array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'saisie' =3D> 'radio',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'options' =3D> array(
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'nom' =3D> 'Option3',
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 'label' =3D> '<:escal:favicon=
_choix3:>'
>> =A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 =A0=A0=A0 )
>> =A0=A0=A0=A0 );
>> =A0=A0=A0=A0 return $saisies;
>> }
>>
>>
>> Et ... rien ne s'affiche.
>> Et ensuite comment s'enregistre le choix fait dans la base donn=E9es ?
>>
>> JC
>>
>>
>
> l=E0 tu a cr=E9=E9 3 saisies radio comprenant chacune 0 bouton radios, et =
> non pas 1 saisie radio comprenant 3 boutons (je sais pas si tu a deja =
> manipul=E9 formidable ou l'interface graphique des champs extra, mais tu =
> vois que quand tu veux ajouter des boutons radio tu choisi une seule =
> fois "boutons radio", et ensuite tu pr=E9cise le contenu).
>
> Ce qu'il te faut c'est une saisie radio avec le detail des choix dans =
> data
>
> quelque chose comme
>
> array(
> =A0=A0=A0=A0'saisie' =3D> 'radio',
> =A0=A0=A0=A0'options' =3D> array(
> =A0=A0=A0=A0=A0=A0=A0 'nom' =3D> 'favicon',
> =A0=A0=A0=A0=A0=A0=A0 'data' =3D> array(
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 'Option1' =3D> '<:escal:favicon_choix1:=
>',
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 'Option1' =3D> '<:escal:favicon_choix2:=
>',
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 'Option3' =3D> '<:escal:favicon_choix3:=
>',
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 )
> =A0=A0=A0=A0)
> )
>
> Ensuite une fois que la personne aura choisi le formulaire, la valeur =
> choisie (donc soit Option1, soit Option2, soit Option3) sera =
> disponible via #CONFIG{escal_favicon/favicon} (ou =
> lire_config('escal_favicon/favicon').
>
> La liste des saisies disponibles en standard avec les diff=E9rentes =
> options se trouve ici https://contrib.spip.net/Reference-des-saisies
>
> Par CONTRE, il ne faut pas faire un formulaire qui appelle un =
> formulaire. Les formulaires imbriqu=E9s, c'est pas une bonne id=E9e.
>
> - Soit tu fais une une page qui appelle plusieurs formulaires
> - Soit, sans doute le plus simple, y compris pour l'user, tu fais un =
> formulaire global avec toutes les options possible.