Comment limiter le nombre d'éléments dans multichamps dans CQ5?
Je développe le site à Jour CQ5 et a été confronté avec un problème.
Je suis de la création d'un composant, et le dialogue pour elle. - Je l'utiliser dans la boîte de dialogue de l'élément de composant "multichamps", qui contient plusieurs éléments "pathfield." Comment puis-je définir un certain nombre d'éléments "pathfield" et de supprimer les boutons "+" et "-"?
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré ce problème exact de cette semaine 🙂
Il semble que par défaut, vous ne pouvez pas limiter le nombre d'éléments de l'éditeur peuvent entrer. Pour résoudre le problème, j'ai créé une superposition de l'Multifield.js mis à
J'ai ajouté une case pour une "limite" propriété définie sur la fieldConfig nœud sous le multichamps. Si présent & pas de zéro, il va utiliser ce que le nombre maximum de champs, un utilisateur peut ajouter.
Ne veux pas entrer dans les questions de droit d'auteur en publiant le recouvrement complet, mais les changements que j'ai faits où comme suit:
Dans le constructeur (ligne n ° 53), ajouter une case pour obtenir la valeur de la limite de la fieldConfig nœud:
Dans le gestionnaire pour le bouton " + " (ligne n ° 71) variation de la fonction à la suivante:
Plutôt que de retirer les boutons, je viens de créer un pop-up pour informer l'éditeur N est le nombre maximal de champs de droit".
Changement Simple, mais fait le travail! Espérons que cela soit de l'utilisation.
Vous pouvez également ajouter des écouteurs en parallèle à multichamps nœud. Par exemple
Événement:
beforeadd
Fonction:
Conditions préalables: Ajouter de la valeur limite pour fieldConfig de multichamps.
Je n'ai pas encore trouvé une solution à ce problème, mais il est venu un petit truc. Au début, j'ai ajouter le nombre requis de l'enfant-éléments par le biais d'un dialogue du composant. Puis-je ajouter de la propriété "classe" à l'élément "multichamps", par exemple "sliderpanel-dialogue-multichamps". Puis-je ajouter dans le composant CSS-style de construction tels:
".x-btn" est une classe qui utilise les boutons de CQ5. Après cela, les boutons sont cachés et vous ne pouvez pas ajouter ou supprimer des éléments dans multichamps. J'ai une autre suggestion que ce problème peut être résolu avec l'aide d'auditeurs et de script, mais il sera plus difficile à résoudre, que j'ai citée ci-dessus. J'ai jusqu'à présent concentré sur cette variante, mais si vous avez d'autres idées, je serais très intéressé de les connaître.
Il semble y avoir un problème avec beforeadd solution: la forme/dialogue devient dans un état non valide, nous disant de corriger les champs marqués d'un ... mais tout est correct.
Est-il un moyen de ré-initialiser le formulaire de validation?
Se référer à ce post où j'ai implémenter la fonctionnalité en supprimant l'élément Ajouter le bouton une fois la limite atteinte.
http://letsaem.blogspot.in/2015/12/add-limit-to-number-of-elements-in.html
Toutefois, le processus de mise en œuvre est:
removeditem:
beforeadd:
Maintenant, si vous donnez limite : 3
Le bouton Add item disparaîtra après l'ajout de 3 articles
Ajouter un élément bouton disparaît: