Page 8 sur 10

Re: Formulaire personnalisable.

Posté : 23 juil. 2014 à 20:43
par Skouat
Euh... y a rien dans mon message, c'est juste les citations qui prennent de la place. :wink:

Re: Formulaire personnalisable.

Posté : 23 juil. 2014 à 21:27
par Censure
J'ai trouver une solution (simple) dans le cas où un champs obligatoire n'a pas été renseigné. Le champ obligatoire vide à une valeur value="sushis_option_0", donc si on remplace :
  • Code : Tout sélectionner

        if (empty($sushis))
        {
            $error[] = $user->lang['NO_SUSHIS'];
        }
    Par :

    Code : Tout sélectionner

        if ($sushis == "sushis_option_0")
        {
            $error[] = $user->lang['NO_SUSHIS'];
        }
On a bien le message d'erreur.

Idem pour le champ « Sexe » :
  • On remplace :

    Code : Tout sélectionner

    <option> --------------- </option>
    <option value="{L_MALE}"<!-- IF S_GENDER_MALE --> selected<!-- ENDIF -->>{L_MALE}</option>
    <option value="{L_FEMALE}"<!-- IF S_GENDER_FEMALE --> selected<!-- ENDIF -->>{L_FEMALE}</option> 
    Par :

    Code : Tout sélectionner

    <option value="0"> --------------- </option>
    <option value="{L_MALE}"<!-- IF S_GENDER_MALE --> selected<!-- ENDIF -->>{L_MALE}</option>
    <option value="{L_FEMALE}"<!-- IF S_GENDER_FEMALE --> selected<!-- ENDIF -->>{L_FEMALE}</option> 
  • Puis :

    Code : Tout sélectionner

        if (empty($gender))
        {
            $error[] = $user->lang['NO_GENDER'];
        }
    Par :

    Code : Tout sélectionner

        if ($gender == "0")
        {
            $error[] = $user->lang['NO_GENDER'];
        }
Et pour que le formulaire garde en mémoire le champ sélectionner de $sushis :
  • On remplace :

    Code : Tout sélectionner

                    <option value="sushis_option_1">{L_SUSHIS_OPTION_1}</option> 
                    <option value="sushis_option_2">{L_SUSHIS_OPTION_2}</option> 
    Par :

    Code : Tout sélectionner

                    <option value="sushis_option_1"<!-- IF S_LIKE_SUSHIS --> selected<!-- ENDIF -->>{L_SUSHIS_OPTION_1}</option> 
                    <option value="sushis_option_2"<!-- IF S_DISLIKE_SUSHIS --> selected<!-- ENDIF -->>{L_SUSHIS_OPTION_2}</option> 
  • Puis :

    Code : Tout sélectionner

                'S_LIKE_SUSHIS'     => ($sushis == $user->lang['LIKE_SUSHIS']) ? true : false,
                'S_DISLIKE_SUSHIS'  => ($sushis == $user->lang['DISLIKE_SUSHIS']) ? true : false, 
    Par :

    Code : Tout sélectionner

                'S_LIKE_SUSHIS'     => ($sushis_option_1 == $user->lang['LIKE_SUSHIS']) ? true : false,
                'S_DISLIKE_SUSHIS'  => ($sushis_option_2 == $user->lang['DISLIKE_SUSHIS']) ? true : false, 
Je suppose que c'est ce qu'il fallait faire ^_^

Bon ça c'est fait !

Quand il va falloir mettre à jour la doc, ça va piquer :shock: :mrgreen:

Re: Formulaire personnalisable.

Posté : 23 juil. 2014 à 21:44
par Skouat
Les clés de langue DISLIKE_SUSHIS et LIKE_SUSHIS n'exsite plus :roll:

Re: Formulaire personnalisable.

Posté : 23 juil. 2014 à 22:54
par Censure
Oups, ça me paraissais trop facile...

Gros edit :
Si je remplace :

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => ($sushis == $user->lang['LIKE_SUSHIS']) ? true : false,
            'S_DISLIKE_SUSHIS'  => ($sushis == $user->lang['DISLIKE_SUSHIS']) ? true : false, 
Par :

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => $sushis == "sushis_option_1",
            'S_DISLIKE_SUSHIS'  => $sushis == "sushis_option_2",
C'est "fonctionnel".
C'est correct? :|

En tout cas ça rend fou ! :mrgreen:

Re: Formulaire personnalisable.

Posté : 24 juil. 2014 à 16:42
par Nicofuma
Je dirais que c'est correct oui (et même que c'est mieux ^^)

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 16:28
par Censure
Plop,
Merci pour ta réponse. Je verrais se soir pour mettre un peu à jour la doc.

Edit :
Mise à jour de la doc.
  • Correction d'une petite faute.
  • Utilisation des balises [ancre=][/ancre] et [goto=][/goto]
C'est un peu plus complexe de compléter la doc. avec le champ type liste déroulante. Je suis parti sur :
  • Ajouter un champ type liste déroulante au formulaire
    • A partir d'un simple champ texte
    • A partir d'un champ type bouton radio
Je ne sais pas si c'est le mieux. ^_^

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 19:31
par Skouat
Censure a écrit :Oups, ça me paraissais trop facile...

Gros edit :
Si je remplace :

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => ($sushis == $user->lang['LIKE_SUSHIS']) ? true : false,
            'S_DISLIKE_SUSHIS'  => ($sushis == $user->lang['DISLIKE_SUSHIS']) ? true : false, 
Par :

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => $sushis == "sushis_option_1",
            'S_DISLIKE_SUSHIS'  => $sushis == "sushis_option_2",
C'est "fonctionnel".
C'est correct? :|

En tout cas ça rend fou ! :mrgreen:
Il faut utilisé des noms un peu plus générique sur tes nommages de variables :wink:
Donc je verrai plutot
  • Code : Tout sélectionner

                'S_SUSHIS_OPTIONS_1'     => $sushis == "sushis_option_1",
                'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2", 

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 19:40
par Censure
Ah vouip, ça permettra de mieux se repérer.
Je corrige.

Edit : C'est fait. :P

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 20:25
par Dakin Quelia
Skouat a écrit :Il faut utilisé des noms un peu plus générique sur tes nommages de variables :wink:
Donc je verrai plutot
  • Code : Tout sélectionner

                'S_SUSHIS_OPTIONS_1'     => $sushis == "sushis_option_1",
                'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2",
Je ne suis pas d'accord. Justement, il faut éviter de trop généraliser.

Donc selon moi, il aurait mieux faire de garder les nommages plutôt comme il avait fait.

On ne généralise pas à tout va. ;)

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 20:56
par Skouat
Quel serait le lien entre S_LIKE_SUSHIS et sushis_option_1 ? c'est illogique de citer un tel exemple.

Pour un MOD on un snippet je suis d'accord avec toi, mais par dans le contexte d'une doc.

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 21:43
par Dakin Quelia
Ca aurait dû être de cette forme:

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => $sushis == "sushis_like",
            'S_DISLIKE_SUSHIS'  => $sushis == "sushis_dislike",
_________

Ensuite, pour ma part, ça:

Code : Tout sélectionner

            'S_SUSHIS_OPTIONS_1'  => $sushis == "sushis_option_1",
            'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2",
J'aurais remplacé par:

Code : Tout sélectionner

            'S_SUSHIS_OPTIONS_1'  => $sushis == "sushis_option_1" ? "sushis_option_1" : "",
            'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2" ? "sushis_option_2" : "", 
Mais bon, après c'est un avis personnel, hein.

Re: Formulaire personnalisable.

Posté : 25 juil. 2014 à 22:17
par Censure
Plop,
Donc je corrige ou je ne corrige pas? ^^

Re: Formulaire personnalisable.

Posté : 26 juil. 2014 à 12:37
par Skouat
Dakin Quelia a écrit :Ca aurait dû être de cette forme:

Code : Tout sélectionner

            'S_LIKE_SUSHIS'     => $sushis == "sushis_like",
            'S_DISLIKE_SUSHIS'  => $sushis == "sushis_dislike",
Pas possible aux vues des modifications de code que j'ai fait apporter au niveau de la balise <select>
sushis sera égale à ce que renvoi value, à savoir sushis_option_X :wink:
Dakin Quelia a écrit :

Code : Tout sélectionner

            'S_SUSHIS_OPTIONS_1'  => $sushis == "sushis_option_1" ? "sushis_option_1" : "",
            'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2" ? "sushis_option_2" : "",
Partiellement d'accord, un true/false est suffisant, c'est pour gérer un IF au niveau du template.

@censure :
Mets cette version

Code : Tout sélectionner

            'S_SUSHIS_OPTIONS_1'  => $sushis == "sushis_option_1" ? true : false,
            'S_SUSHIS_OPTIONS_2'  => $sushis == "sushis_option_2" ? true : false,

Re: Formulaire personnalisable.

Posté : 26 juil. 2014 à 12:44
par Dakin Quelia
D'accord pour la première partie.

Oui, tu as raison. C'est mieux true/false mais au moins faut bien l'indiquer. J'ai hésité un peu en fait. :D

Re: Formulaire personnalisable.

Posté : 26 juil. 2014 à 16:21
par Censure
Plop,
La documentation à été mis à jour.
Encore merci à vous :wink: