Exemple de formulaire à étape avec JcmsFormHandler
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.
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.