Wie beschränken Sie die Anzahl der Elemente in das mehrfeld-in CQ5?
Entwickle ich die Website mit Day CQ5 und war konfrontiert mit einem problem.
Ich bin der Erstellung einer Komponente, und der Dialog für ihn. Ich benutze Sie im dialog für die Komponente element "das mehrfeld", der viele Elemente enthält "pathfield." Wie kann ich einstellen, dass eine bestimmte Anzahl von Elementen "pathfield" und entfernen Sie die Tasten "+" und "-"?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich über genau dieses problem diese Woche 🙂
Scheint es, dass in der Standardeinstellung, können Sie nicht beschränken Sie die Anzahl der Elemente, die der editor eingeben können. Um das Problem zu beheben, habe ich ein overlay der Multifield.js platziert an
Habe ich Hinzugefügt eine überprüfung für eine 'limit' - Eigenschaft festgelegt auf die fieldConfig Knoten unter dem das mehrfeld. Wenn vorhanden & nicht null, wird dies als maximale Anzahl der Felder, die ein Benutzer hinzufügen können.
Wollen nicht, dass man in Fragen des Urheberrechts durch die Veröffentlichung der vollständigen überlagerung, aber die Veränderungen die ich gemacht habe, wo Sie wie folgt vor:
Im Konstruktor (Zeile #53), fügen Sie einen Scheck, um den Wert der Grenze von der fieldConfig Knoten:
In der handler für die Taste " + " (Zeile 71) ändern Sie die Funktion der folgenden:
Eher als das entfernen der buttons, ich habe gerade eine pop-up-Fenster informiert den Redakteur, dass 'N ist die maximale Anzahl von Feldern erlaubt'.
Einfach ändern, aber tut den job! Hoffe, dies ist von nutzen.
Können Sie auch die Zuhörer, die parallel auf das mehrfeld-Knoten. Zum Beispiel
Veranstaltung:
beforeadd
Funktion:
Voraussetzungen: Fügen Sie den Wert limit fieldConfig der das mehrfeld.
Habe ich noch nicht gefunden einen standard-Lösung für dieses problem, aber es kam nur ein kleiner trick. Zunächst füge ich die erforderliche Anzahl der Kinder-Elemente durch den Dialog der Komponente. Und dann füge ich die Eigenschaft "class" auf das element "das mehrfeld", zum Beispiel "sliderpanel-dialog-das mehrfeld". Dann füge ich die in die Komponenten-CSS-Stil solchen Konstruktion:
".x-btn" ist eine Klasse, die verwendet die Schaltflächen in CQ5. Danach werden die Tasten ausgeblendet, und Sie können nicht hinzufügen oder entfernen von Elementen in das mehrfeld. Ich habe einen anderen Vorschlag, dieses problem kann gelöst werden mit Hilfe der Hörerinnen und Skript, aber es wird schwerer zu lösen, die ich oben zitiert. Ich habe bisher konzentrierte sich auf diese Variante, aber wenn du andere Ideen hast, wäre ich sehr daran interessiert, Sie zu kennen.
Scheint es ein Problem mit beforeadd Lösung: die form/dialog wird in einem ungültigen Zustand, erzählen Sie uns korrigieren Sie die markierten Felder ... aber alles ist korrekt.
Gibt es eine Möglichkeit zu re-initialisieren Sie die Formular-Validierung?
Beziehen sich auf dieses post, wo ich die Funktionalität implementieren, die durch das entfernen der Schaltfläche Element Hinzufügen sobald das limit erreicht ist.
http://letsaem.blogspot.in/2015/12/add-limit-to-number-of-elements-in.html
Aber der Prozess der Umsetzung ist:
removeditem:
beforeadd:
Nun, wenn Sie geben, - limit : 3
Element Hinzufügen-button verschwindet nach Zugabe von 3 items
Element hinzufügen-button verschwindet: