Zikula Core 3 bietet Mittel für dynamische Formularelemente

in  Zikula Apps , ,

Zikula Core 3 bietet Mittel für dynamische Formularelemente

Das Profile-Modul von Zikula bietet seit langer Zeit die Möglichkeit, die einzelnen Angaben der Benutzerprofile flexibel zu verändern und nach Belieben zu konfigurieren. Diese Funktionalität wurde im Laufe der letzten Jahre mehrfach umgebaut und basiert mittlerweile auf Symfony Forms. Diese Implementierung ist relativ smart gelöst: man wählt zunächst einen Feldtyp aus und anschließend werden via Ajax automatisch weitere Felder zur Spezifikation der dazugehörigen, möglichen Feldoptionen geladen.

Etwas abstrahiert betrachtet lassen sich hiermit also Meta-Formulare zur Definition von Formularen definieren. Nun ist dies ja nicht nur für Benutzerprofile, sondern für zahlreiche weitere Anwendungen interessant: beispielsweise könnte man Kontaktformulare dynamisch zusammenbauen; das selbe gilt für jegliche Art von Umfragen. Oder man möchte einfach zu einem beliebigen Datenobjekt dynamisch weitere Angaben dokumentieren - damit könnte solch eine Funktion perspektivisch auch für die generischen Attribute, welche sich für diverse Entitäten nutzen lassen, nützlich sein.

Aus diesem Grund haben wir die Funktionalität aus Profile herausgeholt, generalisiert und in den Zikula Core, genauer in das FormExtensionsBundle, eingepflegt. Damit steht sie nun für weitere Module zur Verfügung. Konkret werden die folgenden Helferlein angeboten:

  • Ein Formulartyp zur Auswahl von Feldtyp und dazugehörigen Feldoptionen.
  • Ein Event, mit dem die Liste der Feldtypen dynamisch verändert werden kann. Zum Beispiel gibt es im Benutzerprofil einen speziellen Avatar-Typ, welcher vom Profile-Modul hinzugefügt wird.
  • Ein Interface für einen Container mit dynamischen Feldern.
  • Ein Interface für einzelne dynamische Felder.
  • Ein Formulartyp zum Einbinden der dynamischen Felder eines gegebenen Containers in ein Formular.

Weitere Details zur Implementierung lassen sich in der Dokumentation des Features nachlesen.

Weitere Beiträge in Kategorie Zikula Apps

Kommende Neuerungen in Symfony 6.4
- Die Veröffentlichung der nächsten Symfony-Version 6.4 steht bevor. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser Beitrag zeigt im …
Symfony vereinfacht zeitgesteuerte Aktionen mit neuer Scheduler-Komponente
- Mit Symfony 6.3 sind wieder allerhand neue Features hinzugekommen. In diesem Beitrag möchte ich kurz die neue Komponente Scheduler vorstellen, mit welcher der Symfony Messenger um zeitgesteuerte …
SSO mit Keycloak und Symfony
- Mit der Java-basierten Software Keycloak wird die Verwaltung und Authentifizierung von Nutzern zentral gelöst. Hierbei bleiben kaum Wünsche offen: egal ob nun ein Registrierungsprozess, die …
Symfony UX Translator bietet Mehrsprachigkeit in JavaScript
- Bereits seit einigen Jahren gibt es das BazingaJsTranslationBundle, welches es erlaubt, den Symfony Translator auch Client-seitig zu verwenden. Auch in Zikula kommt dieses Bundle zum Einsatz, …
Kommende Neuerungen in Symfony 6.3
- Die Veröffentlichung der nächsten Symfony-Version 6.3 ist für Ende Mai 2023 geplant. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser …