Version vom 10. Juni 2026, 09:47 Uhr von Margit Link-Rodrigue (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Kompatibilität:Die Anweisungen auf dieser Seite gelten für BlueSpice 5.1.8+. In den Versionen 5.1.x bis 5.1.7 war es nicht möglich, den Seitennamen dynamisch aus Variablen von Formularfeldern zu generieren. Befolgen Sie für diese Versionen die Anweisungen für 5.1.1.


Die Forms-Erweiterung ermöglicht es, eine Wikiseite oder einen Benutzerdialog als Formular zu gestalten. Sie wird außerdem in Verbindung mit der Erweiterung Workflows verwendet, um Eingabeformulare für Workflow-Daten bereitzustellen.

Einführung[Bearbeiten | Quelltext bearbeiten]

Um beispielsweise eine Checkliste als Formular zu erstellen, sind folgende Schritte erforderlich:

  1. Erstellen der Checklisten-Formulardefinition
  2. Erstellen von Checklisteninstanzen direkt über die Formulardefinitionsseite

Im folgenden Beispiel werden die ersten Felder für eine Veranstaltung erstellt, bei der hygienerelevante Informationen im Zusammenhang mit Lebensmitteln dokumentiert werden müssen.

Beispiel einer Veranstaltungs-Checkliste
Beispiel einer Veranstaltungs-Checkliste

Ein Checklistenformular erstellen[Bearbeiten | Quelltext bearbeiten]

  1. Erstellen der Seite EventChecklisteHygiene.form.
Dialog zum Erstellen einer Seite
Neue Formularseite erstellen

Dadurch wird der Formulareditor geöffnet.

Elemente des Formulareditors
Formulareditor
  1. Hinzufügen eines Formularabschnitts:
    1. Das Element Section label unter Form Elements > Other auswählen (siehe Markierung 2 im Screenshot) und bei gedrückter linker Maustaste in den interaktiven Formulareditor ziehen.
    2. Irgendwo in die Zeile Section label klicken. Der Feldinspektor wird geöffnet.
    3. Den Name eingeben. Dieser wird als Feld-ID in der Datenbank gespeichert und sollte daher keine Sonderzeichen enthalten.
    4. Den Title für die Abschnittsüberschrift eingeben. Dieser wird als sichtbare Beschriftung angezeigt.
Inspektor für das Element Section label
Erste Abschnittsüberschrift hinzufügen
  1. Erstellen der Formularfelder für den Abschnitt Event. Im folgenden Beispiel wird ein Textfeld hinzugefügt.
    1. Das Element Text aus Form Elements > Inputs unter die Abschnittsüberschrift ziehen.
    2. Irgendwo in die Zeile des Textfelds klicken. Der Feldinspektor wird geöffnet.
    3. Den Name eingeben. Dieser dient als Datenbank-ID für das Feld und sollte daher keine Sonderzeichen enthalten.
    4. Das Label 'eingeben. Dieses wird als sichtbare Feldbeschriftung angezeigt.
    5. Weitere Formularelemente hinzufügen.
  2. Auf Speichern 'klicken. Das Formular steht nun als EventChecklisteHygiene.form zur Verfügung.
Gespeichertes Formular
Gespeichertes Formular

Weitere Formularelemente hinzufügen[Bearbeiten | Quelltext bearbeiten]

Nun können weitere Felder hinzugefügt werden: Übersicht aller Formularelemente, die Formularen hinzugefügt werden können.

Eine Checklisteninstanz erstellen[Bearbeiten | Quelltext bearbeiten]

Um eine Checkliste aus dem Formular zu erstellen:

  1. Einen Veranstaltungsnamen eingeben
  2. Die Formularfelder ausfüllen
  3. Auf Abschicken klicken

Die Checkliste wird nun im Wiki gespeichert und kann anschließend weiter bearbeitet werden.

Alternatives Ziel: E-Mail[Bearbeiten | Quelltext bearbeiten]

Anstatt beim Speichern des Formulars eine Wikiseite zu erstellen, können die Formulardaten an ein E-Mail-Konto gesendet werden. (Hinweis: Der E-Mail-Empfänger muss durch einen Serveradministrator auf dem Server konfiguriert werden, damit er in Formularen verfügbar ist.)

E-Mail-Ziel
E-Mail-Ziel
  • Zieltyp: Email
  • Empfänger: Mögliche Empfänger müssen aus Sicherheitsgründen auf dem Server konfiguriert worden sein. Beispiel:
    $wgFormsTargetEMailRecipients = [
        'Marketing' => "marketing@example.com",
        'Administration' => 'WikiSysop'
    ];
    
  • Betreff: Vorhandene Formularfelder können hier als Variablen verwendet werden. Der jeweilige Wert wird aus dem Formular übernommen.
  • Inhalt: Wie beim Betreff können auch hier vorhandene Formularfelder als Variablen verwendet werden. Der jeweilige Wert wird aus dem Formular übernommen.

Lokalisierungsnachrichten können in Kombination mit Formularfeldern ebenfalls als Betreff oder E-Mail-Inhalt verwendet werden:

{{int:Mailsubject| {{{name}}}|{{{surname}}} }}

Alternatives Ziel: Vorlage[Bearbeiten | Quelltext bearbeiten]

Anstatt eine Standard-Wikiseite zu erstellen oder die Formulardaten per E-Mail zu versenden, kann eine Vorlage als Ziel für ein Formular verwendet werden.
In diesem Fall werden die übermittelten Formulardaten genutzt, um auf Basis einer vorhandenen Vorlagen-Struktur eine neue Wikiseite zu erstellen. Die Formularwerte werden dabei in die Platzhalter der Vorlage eingefügt.

  • Voraussetzungen: Bevor ein Vorlagen-Ziel verwendet werden kann, muss bereits eine entsprechende Vorlagen-Seite im Wiki vorhanden sein. Die Vorlage dient als strukturelle Grundlage für die generierte Seite. Formularfelder werden den in der Vorlage definierten Platzhaltern zugeordnet.
Auswahl von Vorlage als Formularziel
Template-Ziel
  • Zieltyp: Vorlage
  • Predefined title: Optionaler Standardtitel für die neu erstellte Seite oder zur Vorgabe eines Seitenpfads (z. B. um alle generierten Seiten als Unterseiten einer bestimmten Seite zu erstellen)
  • Zu verwendende Vorlage: Name des vorhandenen Templates, das für die Seitenerstellung verwendet wird

Es wird empfohlen, für Formular und Template identische oder eindeutig zusammengehörige Bezeichnungen zu verwenden. Dies erleichtert die Wartung und macht Konfigurationsabhängigkeiten leichter nachvollziehbar. Diese Zielart wird typischerweise verwendet, um standardisierte und lesbare Wikiseiten zu erzeugen. JSON-basierte Ziele werden dagegen häufiger für die strukturierte Weiterverarbeitung von Daten eingesetzt.

Styling anpassen[Bearbeiten | Quelltext bearbeiten]

Common.css[Bearbeiten | Quelltext bearbeiten]

Um einzelne Elemente im Formular zu gestalten, kann im Optionsdialog der Reiter Styling verwendet werden. Dort lässt sich ein CSS-Klassenname eintragen. Das eigentliche Styling wird anschließend auf der Seite MediaWiki:Common.css definiert (Administratorrechte erforderlich). So wird die Abschnittsüberschrift gestaltet:

  1. Den Reiter Styling im Optionsmenü des Feldes Event heading öffnen
  2. Eine neue CSS-Klasse hinzufügen und einen Selektornamen im Feld CSS Classes eintragen, z. B. frm-sectionhd
    CSS-Klasse hinzufügen
    CSS-Klasse hinzufügen
  3. Die folgenden Stildefinitionen auf der Seite MediaWiki:Common.css einfügen:
    .frm-sectionhd {
        border-bottom: 1px solid #a6a6a7;  
        background:#f1f3f9; 
        padding:6px;
        margin:30px 0;
    }
    
    Abschnittsüberschrift mit individuellem Styling
    Abschnittsüberschrift mit individuellem Styling

Falls keine Berechtigung zum Anzeigen oder Bearbeiten dieser Seite besteht, können Stilinformationen auch direkt über Inline-Styling für einzelne Formularelemente hinterlegt werden.

Inline-Styling[Bearbeiten | Quelltext bearbeiten]

Ohne Zugriff auf MediaWiki:Common.css können Stilinformationen direkt im Formular eingetragen werden. Bei häufig wiederkehrenden Stildefinitionen ist dies jedoch weniger effizient als die Verwendung von CSS-Klassen in MediaWiki:Common.css.
​Im folgenden Beispiel wird das zuvor verwendete Styling der Abschnittsüberschrift direkt als Inline-Styling angewendet. Dazu erneut das Optionsmenü des Formularelements ech-event öffnen. Anschließend den folgenden Eintrag im Feld Styling hinterlegen und die Änderung speichern:

border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;
Inline-Styling eines Formularelements
Inline-Styling eines Formularelements