Ignore:
Timestamp:
Mar 7, 2019, 11:34:36 PM (2 years ago)
Author:
rastapopoulos@…
Message:

Nouveauté sans rien casser (normalement) : l'API saisies permet maintenant d'activer un formulaire multi-étapes en une ligne ! Pour ça, il suffit 1) d'avoir des fieldsets racines qui se transformeront en étapes et 2) d'avoir un tableau options dans le tableau des saisies avec 'options'=>array('etapes_activer'=>true). Et… c'est tout ! Paf magie. Comme option, on peut aussi utiliser 'etapes_suivant' et 'etapes_precedent' pour personnaliser les labels des boutons qui s'affichent quand on n'est pas encore à la fin du formulaire. Ça ajoute aussi un menu pas trop mal accessible (ça suit accedeweb) qui liste les étapes avec leur nom humain (le label des fieldsets) et quand ce sont les étapes précédentes, ça fait un bouton pour y revenir. La suite : permettre aussi de configurer tout ça par interface dans le constructeur de formulaire, afin de pouvoir l'utiliser dans Formidable ! Demain est un autre jour…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/formulaires/saisies_cvt.php

    r107777 r114384  
    1111        $saisies = array(
    1212                'options' => array(
    13                         'texte_submit' => 'Prout !',
    14                         'activer_etapes' => true,
     13                        'texte_submit' => 'Pouet !',
     14                        'etapes_activer' => true,
     15                        'etapes_suivant' => 'Suivant pouet',
     16                        'etapes_precedent' => 'Précédent pouet',
     17                        'etapes_navigation' => 'on',
    1518                ),
    1619                array(
    17                         'saisie' => 'input',
     20                        'saisie' => 'fieldset',
    1821                        'options' => array(
    19                                 'nom' => 'nom',
    20                                 'label' => 'Nom'
    21                         )
     22                                'nom' => 'persos',
     23                                'label' => 'Informations personnelles',
     24                        ),
     25                        'saisies' => array(
     26                                array(
     27                                        'saisie' => 'input',
     28                                        'options' => array(
     29                                                'nom' => 'nom',
     30                                                'label' => 'Nom'
     31                                        )
     32                                ),
     33                                array(
     34                                        'saisie' => 'input',
     35                                        'options' => array(
     36                                                'nom' => 'email',
     37                                                'obligatoire' => 'oui',
     38                                                'label' => 'E-mail'
     39                                        ),
     40                                        'verifier' => array(
     41                                                'type' => 'email'
     42                                        )
     43                                ),
     44                                array(
     45                                        'saisie' => 'input',
     46                                        'options' => array(
     47                                                'nom' => 'a_supprimer',
     48                                                'label' => 'Un champ à supprimer'
     49                                        )
     50                                ),
     51                        ),
    2252                ),
    2353                array(
    24                         'saisie' => 'input',
     54                        'saisie' => 'case',
    2555                        'options' => array(
    26                                 'nom' => 'email',
    27                                 'obligatoire' => 'oui',
    28                                 'label' => 'E-mail'
     56                                'nom' => 'out',
     57                                'label_case' => 'Un champ à l’extérieur des groupes'
    2958                        ),
    30                         'verifier' => array(
    31                                 'type' => 'email'
    32                         )
    3359                ),
    3460                array(
    35                         'saisie' => 'input',
     61                        'saisie' => 'fieldset',
    3662                        'options' => array(
    37                                 'nom' => 'a_supprimer',
    38                                 'label' => 'Un champ à supprimer'
    39                         )
     63                                'nom' => 'ecrire',
     64                                'label' => 'Des choses à dire',
     65                        ),
     66                        'saisies' => array(
     67                                array(
     68                                        'saisie' => 'input',
     69                                        'options' => array(
     70                                                'nom' => 'sujet',
     71                                                'label' => 'Sujet'
     72                                        )
     73                                ),
     74                                array(
     75                                        'saisie' => 'textarea',
     76                                        'options' => array(
     77                                                'nom' => 'message',
     78                                                'obligatoire' => 'oui',
     79                                                'label' => 'Un message',
     80                                                'conteneur_class' => 'pleine_largeur',
     81                                        ),
     82                                        'verifier' => array(
     83                                                'type' => 'taille',
     84                                                'options' => array('min' => 10)
     85                                        )
     86                                ),
     87                        ),
    4088                ),
    41                 array(
    42                         'saisie' => 'textarea',
    43                         'options' => array(
    44                                 'nom' => 'message',
    45                                 'obligatoire' => 'oui',
    46                                 'label' => 'Un message'
    47                         ),
    48                         'verifier' => array(
    49                                 'type' => 'taille',
    50                                 'options' => array('min' => 10)
    51                         )
    52                 )
    5389        );
    5490       
     
    5793        $saisies = saisies_dupliquer($saisies, 'message');
    5894        $saisies = saisies_deplacer($saisies, 'email', 'nom');
    59         var_dump($saisies);
     95        //var_dump($saisies);
    6096       
    6197        return $saisies;
     
    64100function formulaires_saisies_cvt_charger() {
    65101        $contexte = array(
    66                 'saisies_texte_submit' => 'Caca !',
     102                'saisies_texte_submit' => 'Prout !',
    67103        );
    68104       
Note: See TracChangeset for help on using the changeset viewer.