Hallo, Discourse Meta Community!
Wir freuen uns, eine neue experimentelle Funktion vorzustellen: Formularvorlagen. Damit können Sie ein strukturiertes Formular mit Datenvalidierung als Teil des Themensetzungsprozesses erzwingen.

Aktivieren der Funktion
Die Funktion ist hinter einem experimentellen Flag für die gesamte Website verborgen. Um sie zu aktivieren, schalten Sie einfach die Website-Einstellung experimental_form_templates unter
Admin ▸ Einstellungen ein.
Verwalten der Vorlagen
Die Formularvorlagen können unter
Admin ▸ Anpassen ▸ Vorlagen (/admin/customize/form-templates/) erstellt, bearbeitet und gelöscht werden.
Dort sehen Sie eine Tabelle mit einer Liste der Vorlagen, die im Forum vorhanden sind. Sie können jede vorhandene Vorlage bearbeiten, löschen und in der Vorschau anzeigen oder neue erstellen. Die Tabelle zeigt auch die Kategorien an, in denen jede Vorlage derzeit aktiv ist.
Vorlagen werden in einer YAML-Struktur definiert. Sie können diese manuell eingeben oder die Schaltflächen “Hinzufügen” oben verwenden, die ein Beispiel-YAML-Code am Ende anhängen, das einen bestimmten Eingabetyp definiert.
Hier ist ein vollständiges YAML-Beispiel mit allen Feldtypen:
- type: input
id: name
attributes:
label: "Vollständiger Name"
placeholder: "z.B. Max Mustermann"
description: "Wie lautet Ihr vollständiger Name?"
validations:
required: true
minimum: 2
maximum: 100
- type: textarea
id: introduction
attributes:
label: "Einleitung"
placeholder: "Eine kurze Einleitung"
description: "Schreiben Sie eine kurze Einleitung über sich selbst"
validations:
required: true
minimum: 10
maximum: 500
- type: dropdown
id: fav-animal
attributes:
label: "Lieblingstier"
description: "Wählen Sie Ihr Lieblingstier aus"
none_label: "Wählen Sie eine Option"
choices:
- "Hund"
- "Katze"
- "Andere"
validations:
required: true
- type: multi-select
id: comm-channel
attributes:
label: "Kommunikationskanäle:"
description: "Wählen Sie Ihre bevorzugten Kommunikationskanäle aus:"
none_label: "Wählen Sie eine Option"
choices:
- "E-Mail"
- "Telefon"
- "Messenger"
- type: upload
id: cat-photo
attributes:
label: "Katzenfoto"
description: "Senden Sie ein Foto Ihrer Katze (oder einer beliebigen Katze)"
file_types: ".jpg, .png"
allow_multiple: false
- type: checkbox
id: accept-terms
attributes:
label: "Ich habe die Bedingungen gelesen und stimme ihnen zu"
description: "Sie müssen die Bedingungen akzeptieren, um fortzufahren"
validations:
required: true
Validierungen
Für jedes Feld können Sie Validierungsoptionen hinzufügen, die erfüllt sein müssen, bevor das Formular erstellt werden kann. Eine Liste der verfügbaren Validierungen finden Sie, indem Sie auf die Schaltfläche Validierungen über dem Code-Editor klicken. Dort wird die Syntax für jede Validierungsoption angezeigt und ihre beabsichtigte Verwendung beschrieben.
Validierungsoptionen
| Schlüssel | Typ | Beschreibung |
|---|---|---|
| required | boolean | Erfordert, dass das Feld ausgefüllt wird, um das Formular abzuschicken |
| minimum | integer | Bei Textfeldern gibt die minimale Anzahl erlaubter Zeichen an |
| maximum | integer | Bei Textfeldern gibt die maximale Anzahl erlaubter Zeichen an |
| pattern | regex string | Bei Textfeldern ein regulärer Ausdruck, der die erlaubte Eingabe angibt |
| type | string | Bei Eingabefeldern können Sie den erwarteten Eingabetyp angeben (text|email|date|number|url|tel|color) |
Anwenden einer Vorlage auf eine Kategorie
Sobald Sie eine Formularvorlage erstellt haben, möchten Sie sie auf eine Kategorie anwenden. Gehen Sie dazu zu den Einstellungen der Kategorie, auf die Sie die Vorlage anwenden möchten.
Wählen Sie das Menü Vorlage und verwenden Sie dann auf der rechten Seite den Schalter, um Formularvorlagen zu aktivieren. Sobald dies aktiviert ist, können Sie die Dropdown-Liste verwenden, um eine oder mehrere Vorlagen zu einer Kategorie hinzuzufügen.
Ausfüllen des Formulars
Sobald eine Vorlage auf eine Kategorie angewendet wurde, wird das Formular der Vorlage automatisch angezeigt, wenn Sie ein Thema erstellen und die Kategorie auswählen, für die die Vorlage gilt. Wenn der Kategorie mehr als eine Vorlage zugewiesen ist, sehen Sie auch eine Auswahl, um zwischen den verfügbaren Vorlagen zu wechseln.
Beim Ausfüllen des Formulars werden alle in der Formularvorlagendefinition angegebenen Validierungen berücksichtigt. Erst nachdem alles gültig ist, können Sie auf
Thema erstellen klicken, und der Themeninhalt wird aus allen eingegebenen Feldern generiert.
Nach dem Absenden besteht der Themeninhalt aus allen ausgefüllten Feldern:
Vorbelegung von Formularwerten
Sie können Formularwerte auch vorbelegen, indem Sie /new-topic mit Parametern aufrufen, die mit den Feld-IDs übereinstimmen, die in der Formularvorlage definiert sind. Zum Beispiel für die zuvor als Beispiel verwendete Vorlage:
/new-topic?name=Max%20Mustermann&favorite-animal=Katze
Roadmap
- Speichern der JSON-Ausgabe in den Themendaten, wenn ein Thema erstellt wird
- Umschalten, um den Freiform-Composer weiterhin auswählen und verwenden zu können in Kategorien mit Formularvorlagen
Wie Sie uns helfen können
Wir würden uns freuen, Ihr Feedback zu dieser neuen Funktion zu hören. Wenn Sie Administrator sind und sie auf Ihrem Forum ausprobieren möchten, können Sie die Einstellung experimental_form_templates aktivieren und sie sofort verwenden!
Bitte erstellen Sie neue Themen mit dem Tag form-templates, um Ihre Erfahrungen zu teilen, Fehler zu melden oder Vorschläge zu machen.
Vielen Dank, dass Sie uns helfen, Discourse zu verbessern!









