CVT Multi-étapes // Problème de gestion de tableaux avec l’utilisation `_retour_etape_N`
Salut,
Lorsqu’on utilise un formulaire CVT multi-étape avec l’utilisation de tableaux (saisies de types checkbox
par exemple) et l’utilisation de retour_etape_N
, un cas particulier est mal géré.
Voici comment reproduire le problème avec l’utilisation du formulaire d’exemple ci-joint :
aller à l’étape 2 ;
cocher plusieurs choix puis valider pour aller à l’étape 3
à l’étape 3, cliquer sur « retour », on voit alors bien le tableau de valeurs saisies s’afficher ;
on est maintenant à l’étape 2, décocher l’ensemble des cases à cocher puis valider pour aller à l’étape 3 ;
constater que les valeurs saisies la première fois sont toujours là.
Le problème se situe dans la manière de gérer les données déjà envoyées par les fonctions cvtmulti_sauver_post()
et cvtmulti_recuperer_post_precedents()
dans le fichier inc/cvt_multietapes.php
. Ces fonctions n’arrivent pas à détecter le fait que le tableau a été vidé, puisque lors de l’étape 2, aucune valeur n’a été envoyée. Il remplace alors les données avec celles enregistrées dans le cvtm_prev_post
.
Après quelques recherche, ce problème a été évoqué sur quelques forums, notamment ici : http://forum.spip.net/fr_248509.html
Je ne sais pas trop comment ce problème pourrait être résolu de manière générique dans les fonctions cvtmulti_sauver_post()
/ cvtmulti_recuperer_post_precedents()
.
Olivier;