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

Symfony Messenger - Behandlung erneut fehlgeschlagener Nachrichten
- Im Symfony Messenger gibt die Möglichkeit, fehlgeschlagene Nachrichten an eine failed queue zu leiten. In diesem Sammelbecken können diese dann inspiziert und nach Korrektur des zu Grunde liegenden …
Response-Eigenschaften im Zikula Theme-Layer anpassen
- In Zikula gibt es eine Besonderheit zu beachten, welche Einfluss darauf nimmt, wie die aus einem Request resultierende Response zum anfragenden Client gelangt. Per Standard wird die Response in …
Tabellennamen mit Doctrine dynamisch anpassen
- Mit Hilfe der Metadaten von Doctrine lassen sich jegliche Daten zu einer Entität zur Laufzeit verändern. Allerdings kann das in manchen Anwendungsfällen fortwährend notwendig sein, zum Beispiel in …
Kommende Neuerungen in Symfony 5.2
- Vor zwei Tagen wurde Symfony 5.2.0-BETA2 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 Updates …
Zikula Core 3.0.3 mit Sicherheits-Update von Symfony 5
- Vor kurzem hatten wir über das Release von Zikula 3.0.1 berichtet, welches wichtige Korrekturen für Zikula 3 bereitgestellt hat. Vor einer Woche wurde die nächste Version 3.0.2 veröffentlicht. …