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

Monitoring von Queues mit dem Symfony Messenger
- Der Symfony Messenger kann über unterschiedliche Transporte mit diversen Queue-Technologien eingesetzt werden, zum Beispiel AMQP, Redis, Amazon SQS oder Doctrine. Um die Messages in den Queues …
MultiPart-Requests in Symfony einfach verarbeiten
- In Symfony gibt es mit der Mime-Komponente eine komfortable Möglichkeit, MultiPart-Nachrichten zu erstellen. Nicht out of the box enthalten ist aber ein Interface, das den Zugriff auf die in …
Kommende Neuerungen in Symfony 6.1
- Gegenwärtig laufen die Arbeiten an der nächsten Symfony-Version 6.1. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser Beitrag zeigt im …
Zikula 3 - Cross-Release und weitere Ausrichtung
- Heute sind gleichzeitig zwei neue Versionen vom Zikula Core veröffentlicht worden. Zikula 3.0.4 bringt Fehlerkorrekturen Mit der Version 3.0.4 wird ein weiteres Bugfix-Update für die Hauptversion 3 …
Kommende Neuerungen in Symfony 5.4
- Vor einigen Tagen wurde Symfony 5.4.0-BETA3 veröffentlicht. Dies nehme ich zum Anlass, um einmal einen Überblick über die wichtigsten neuen Funktionen zu geben, auf die wir uns im Rahmen dieses …