Dynamische Formulare (z.B. für Backend Themes)

Gesperrt
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Dynamische Formulare (z.B. für Backend Themes)

Beitrag von shadowcat »

Das hier ist eher was für Modul- und Thementwickler.

Mit BC Version 1.2 liefern wir erstmals auch die wblib2 (Verzeichnis lib_wblib) mit aus. Hauptgrund ist die darin enthaltene Komponente wbForms, die es erlaubt, Formulare aller Art programmatisch zu erstellen. Basis ist hierbei ein multidimensionales Array, in dem Informationen über die Formularfelder hinterlegt werden - Typ (also etwa Select, Checkbox, ...), Pflichtfeld ja/nein, minimale/maximale Länge des Inhalts etc.

Erstmals eingesetzt wird der Formbuilder für die SEO-Einstellungen, langfristig sollen alle Formulare darauf umgestellt werden. Das hat diverse Vorteile:
  • Die Definition der Formulare ist unabhängig vom Backend Theme, womit die Steuerung wieder zurück an den Core fällt, wo sie auch eigentlich hin gehört
  • Die Erweiterung um weitere Formularfelder ist einfacher, auch die Änderung eines Typs, z.B. vom Eingabefeld in eine Selectbox oder vom optionalen zum Pflichtfeld
  • Im Theme kann man sich wieder mehr auf die Optik konzentrieren als auf die Frage, was wann wo von wem gesehen wird (wird später mal relevant, wenn wir das Berechtigungssystem überarbeiten) = weniger "Intelligenz" in den Templates
  • (teil-)automatische Validierung (Pflichtfelder, Inhaltstypen, Länge usw.)
Module können die wlib ebenfalls nutzen, das Modul blackForms tut das ja bereits und setzt sie auch voraus.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Dynamische Formulare (z.B. für Backend Themes)

Beitrag von shadowcat »

Jetzt hab ich glatt vergessen, was ich eigentlich schreiben wollte. :lol:

wbForms verwendet normalerweise (abschaltbar) jQuery UI für das Layout. Zudem werden intern Vorlagen definiert, etwa das Markup für eine Checkbox. Das paßte nicht zum Freshcat-Theme und ließ sich mit reinem CSS nicht lösen. Daher können Backend Themes eine forms.init.php mitliefern, die der Konfiguration der mit wbForms generierten Formulare dient. Diese wird automatisch geladen, sofern sie vorhanden ist.

Weitere Informationen und Anleitungen folgen, wenn wir BC 1.2 fertig haben. :mrgreen:
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Gesperrt