OK, dans ce cas il faut aller un peu plus loin…
Etape 1 : créer un état (“state”) pour stocker temporairement (dans le navigateur de l’utilisateur) le choix. Bien préciser qu’il s’agit dune liste, car on ne connait pas le nombre d’options qui vont être sélectionnées. Tu peux créer cet état sur n’importe quel élément. Je l’ai fait au niveau de la page directement.
Puis je définis au niveau de l’image une indication visuelle pour quand cette option est dans la liste d’options sélectionnées.
Je construis les workflows pour ajouter ou enlever une option de cette liste.
Cas de figure où l’option n’est pas encore dans la liste :
Il faut bien penser à garder ce qui était potentiellement déjà dans la liste, donc définir l’état comme la liste existante + cette option :
On fait ensuite la même chose pour l’autre cas de figure (l’option est déjà dans la liste) :
Et cette fois-ci on enlève de la liste :
A noter qu’il est impossible d’ajouter deux éléments identiques à une même liste (là de toute façon la façon dont sont définis les workflows l’empêche, mais même si tu avais la possibilité à chaque fois que tu cliques sur une image, de déclencher un ajout de l’option à la liste, tu aurais une seule fois l’option dans ta liste, car c’est le même élément - “unique id” - dans ta base de données).
Maintenant à inscrire cette liste dans la base de données au moment où l’on change de page. On doit d’abord faire une modification du champ concerné pour qu’il accepte les listes (on ne peut pas modifier en fait, il faut supprimer et en créer un nouveau).
Maintenant, j’ajoute un bouton pour pouvoir déclencher le workflow.
Au cas où l’utilisateur souhaiterait changer son choix, on va sûrement lui permettre de revenir à la page 1. Du coup il est sympathique de montrer quel est le choix actuel si il y en a un. On peut utiliser un workflow qui initialise l’état Selected_Options au moment du chargement de la page.
Et sur la page 2, on va aussi utiliser un RepeatingGroup car on ne sait pas combien d’options on doit montrer.
Voilà, c’est une méthode Encore une fois il y a plein de solutions !
L’éditeur
La démo
Du coup ce “fil de conversation” va être un peu compliqué si on mélange tous les sujets/toutes les questions dans un seul et unique fil en français