We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Exemple de formulaire à étape avec JcmsFormHandler

Patrice Maziero · on 10/1/19 at 12:33 PM

Bonjour,

j'essaye de faire un formulaire à étape spécifique (sans passer par le type  de contenu Formulaire) en utilisant le JcmsFormHandler.

À chaque chagement d'étape les valeurs de mon formHandler sont perdues.

Je cherche des exemples d'implementation de formulaire à étape dans JCMS mais à part la javadoc du FormHandler je ne trouve rien.

0 pts
Kevin Bransard · on 10/1/19 at 2:47 PM

Un tutoriel est en cours d'écriture sur le sujet.

Pour que vos champs soient gardés entre chaque étape, il faut implémenter la méthode suivante dans votre handler : 

@Override
public String getFormStepHiddenFields() {
  StringBuilder sb = new StringBuilder();
  if (getFormStep() != STEP_INFORMATION) {
    sb.append(getHiddenFieldML("title", getAvailableTitleML()));
    sb.append(getHiddenField("title", getAvailableTitle()));
    sb.append(getHiddenFieldML("description", getAvailableDescriptionML()));
    sb.append(getHiddenField("description", getAvailableDescription()));
    sb.append(getHiddenField("cids", getAvailableCategories()));
    sb.append(getHiddenField("ws", getAvailableWorkspace()));
  } else if (getFormStep() != STEP_TEST) {
    sb.append(getHiddenField("test", getAvailableTest()));
  }
return sb.toString();
}

Le principe est d'ajouter un champ caché (Gérer automatiquement via le tag modal), pour chacun des champs non visibles dans l'étape actuelle. Ainsi ils sont soumis à nouveau dans votre formulaire entre chaque étape.

#1

Merci,

je vais tester ça!

Patrice Maziero · on 10/2/19 at 11:46 AM
2 pts