MForm erleichtert die Erstellung von REDAXO-Modul-Eingaben. Mit MForm kann man nicht nur Formulare erstellen, sondern diese dank flexibler Templates auch optisch genau nach eigenen Wünschen gestalten. Man kann alle REDAXO-Standard-Formularelemente erstellen und erhält einige Extra-Widgets, die sich leicht in Module einfügen lassen.
Aber da hört’s noch nicht auf! MForm pimpt auch YForm und rex_form mit zusätzlichen Widgets auf. Benutzerdefiniertes Link-Feld oder eine schicke Image-List? Kein Problem, MForm hat die Lösung.
Und das Highlight in der neuesten Version? Der brandneue Formular-Repeater! Dieses Feature ersetzt das alte MBlock AddOn und bietet die Möglichkeit, Formularelemente nicht nur zu wiederholen, sondern sie auch in mehreren Ebenen zu verschachteln – etwas, das mit MBlock so nicht machbar war. Damit kann man jetzt noch komplexere Formulare aufbauen.
Die beiliegende Demo-Sammlung erlaubt das sofortige Ausprobieren von Modul-Codes. Module können direkt installiert und getestet werden. Die Codes sind alle kommentiert. Und zuästlich gibt es eine ausführliche Doku 📒.
- Erstellen von Moduleingaben per PHP: Die Basis, um mit MForm zu arbeiten.
- Mehrspaltige Formulare: Layout-Optionen zur Strukturierung der Formulare.
- Inline-Formular-Elemente: Für eine kompakte Formulargestaltung.
- HMTL5-Formular-Elemente: Nutzung moderner Webstandards.
- Datalists: Für verbesserte Eingabeoptionen in Formularen.
- Custom Widgets für Verlinkung (auch Yform) und Bilder: Spezielle Widgets für häufig benötigte Funktionen.
- Factory die es ermöglicht Formularteile leicht auszulagern: Vereinfacht die Wiederverwendung von Formularkomponenten.
- Collapse, Tabs, Accordions: Elemente zur Gestaltung dynamischer, interaktiver Formulare.
- Wrapper Elemente Via Checkbox, Radio oder Select steuerbare Collapse Elemente: Bietet interaktive Steuerungselemente für die Benutzerführung.
- Ausgabe der Formulare anpassbar über Fragmente: Ermöglicht die flexible Gestaltung der Formulardarstellung.
- Integrierter Formular-Repeater: Ersetzt MBlock und erlaubt verschachtelte Formularelemente.
- REDAXO JSON Value Nutzung: Integration von REDAXO spezifischen Datenstrukturen.
- SQL-Felder: Direkte Einbindung von Datenbankabfragen.
- Durchgehende MBlock Kompatibilität: Gewährleistet Kompatibilität mit bestehenden MBlock-Installationen.
- Modul-Beispiele zur direkten Installation: Bietet sofort einsatzbereite Vorlagen für verschiedene Anwendungsfälle.
Der Formular-Repeater ermöglicht es, Formularelemente dynamisch zu wiederholen und dabei eine Verschachtelung in mehreren Ebenen zu realisieren.
Der neue Repeater ist nur eingeschränkt mit MBlock kompatibel.
Akuell funktionieren nicht bei einer Migration:
- CustomLinkField // Converter: https://friendsofredaxo.github.io/tricks/addons/mform/custom_link_converter
- addMediaListField
- addLinkListField
MBlock-Modul
// Basis-ID für die Verwaltung der Formularelemente
$id = 1;
// Initialisierung von MForm
$mform = new MForm();
// Hinzufügen eines Feldsets
$mform->addFieldsetArea('Team member');
// Hinzufügen eines Textfelds, wobei dynamisch auf ein JSON-Format verwiesen wird
$mform->addTextField("$id.0.name", array('label' => 'Name'));
// Hinzufügen eines Medienfeldes, das durch MBlock in JSON gespeichert wird
$mform->addMediaField(1, array('label' => 'Avatar'));
// Ausgabe des Formulars mit MBlock, welches die dynamische Handhabung der Blöcke erlaubt
echo MBlock::show($id, $mform->show(), array('min' => 2, 'max' => 4));
Das gleiche Modul in MForm 8
Zur Ermittlung der benötigten Feld-Keys sollte man ggf. vorab einen Dump erzeugen.
Zu beachten: Aus dem Mediafield 1 im urpsrünglichen MBlock-Modul wird: 'REX_MEDIA_1'
use FriendsOfRedaxo\MForm;
// Initialisierungs-ID des Repeaters mit der Basis-ID des ursprünglichen MBlock-Abschnittes
$id = 1;
// Erstellen einer neuen MForm-Instanz mit der Factory-Methode und direkte Integration eines Repeaters
echo MForm::factory()
->addRepeaterElement(
$id,
MForm::factory()
->addFieldsetArea('Team member',
MForm::factory()
->addTextField('name', ['label' => 'Name'])
->addMediaField('REX_MEDIA_1', ['label' => 'Avatar'])
),
true,
true,
['min' => 2, 'max' => 4]
)
->show();
MForm kann direkt über den Redaxo-Installer Installiert werden. MForm Redaxo Addon Page
- In REDAXO einloggen
- Im Backend unter "Installer > Neue herunterladen" "MForm" suche und unter "Funktion" "ansehen" klicken
- Bei der aktuelle Version in der Liste unter "Funktion" "herunterladen" klicken
- Unter "AddOns" MForm installieren und aktivieren
MForm nutzt die von REDAXO bereitgestellten REDAXO Variablen. Entweder als klassische oder als JSON-Values. Informationen hierzu in der REDAXO Doku.
MForm ist unter der MIT Lizenz lizensiert.
siehe CHANGELOG.md
Friends Of REDAXO
Projekt-Lead
2nd. Maintainer
Mform-Repeater
Docs & Testing