Navigation auf uzh.ch

Suche

Magnolia CMS User Guide

Outdated: HTML-Formular

Beschreibung (und Disclaimer)

Das frühere CMS Lenya besass keine Mailkomponente. Formulare mussten in HTML codiert werden. Beim Abschicken der Eingaben wurde ein Mailprogramm angestossen. Solche Mailformulare wurden bei der Migration der Webauftritte ins CMS Magnolia in eine HTML-Komponente überführt. Neu sollten sie aber keine solche HTML-codierte Mailformulare mehr erstellen – der Aufwand für ihre Erstellung ist um einiges höher als bei der von Magnolia zur Verfügung gestellten Formular-Komponente.

Aktuell (30.07.18) Formular liefert Antwortseite 'mailform'

Sie sollten sämtliche http-Links in ihrem Formular auf https umschreiben. Bsp:

<form action="https://www.<id>.uzh.ch/cgi-bin/mailform" method="post">
<input name="-BASE__URL" value="https://www.<id>.uzh.ch/..." />
<input name="-footer" value="INCLUDE:https://www.<id>.uzh.ch/..." />
<input name="-footerURL" value="https://www.<id>.uzh.ch/..." />
<input type="hidden" name="-errortemplate" value="https://www.<id>.uzh.ch/..."/>

Zusätzliche Anforderungen

  1. Die eigentlichen Formularfunktionen (Überprüfen, Versenden, Bestätigung) werden durch ein externes Script «mailform» erledigt und nicht durch das CMS.
  2. Es werden zwei zusätzliche Webseiten für die Bestätigung und die Fehlermeldung benötigt. Der Link zu diesen Webseiten muss im Formular-Code eingegeben werden.
  3. Die Datei, in der die Formulardaten zusätzlich abgespeichtert werden, liegt nicht auf dem CMS- sondern im static-Verzeichnis auf dem FTP-Server. Der Link zu dieser Datei muss auch im Formular-Code eingegeben werden.

mailform-Doku

Beispiel: Einfaches Mailformular

Das untenstehende Formular sendet ein Mail an eine UZH-Mail-Adresse. Das mailform-Script im Hintergrund kontrolliert die Eingaben, erzeugt eine allfällige Fehlermeldung und generiert ein E-Mail mit sämtlichen Informationen an den Empfänger.

Absender:
Anrede  Frau      Herr
* Vorname Laura
* Name Muster
* E-Mail Adresse: laura.muster@uzh.ch
Auswahl 1  Option 1
 Option 2
Menu
Mitteilung:

* Diese Felder müssen ausgefüllt sein.

Formular erstellen

Das Erstellen eines Formulars im UniCMS erfordert HTML-Grundkenntnisse, da einige Parameter direkt im Code bzw. im Source Editor angepasst werden müssen.

Es müssen drei Seiten erstellt werden: die Seite mit dem eigentlichen Formular (z.B. formular.html) sowie zwei versteckte Seiten für die Bestätigungs-Seite (id=confirmation) und die Fehlermeldungs-Seite (id=error). Bitte beachten Sie, dass die Erstellung bzw. Anpassung eines Formulars nur beschränkt im Firedocs-Editor möglich ist. Für die Schritte 2-6 benötigen Sie den Source-Editor.

1. Formular erstellen:

  1. (Firedocs-Editor): Textparagraf oder Titel-Element auswählen > Dokument-Pfad-Menu > Nachher einfügen > Vorlagen > Web-Formular. (Es wird ein Standardformular eingefügt, das einige wichtige Eingabefelder enthält, vgl. Beispiel oben)
  2. Passen Sie die Eingabefelder an Ihre Bedürfnisse an und definieren Sie die Attribute der Eingabefelder (input).
    Tipps zur Anpassung/Erstellung des Formulars:
    • Alle Eingabefelder müssen unterschiedliche Werte für die name-Attribute aufweisen
    • Zusammengehörige Auswahl-Eingabefelder (type="radio") müssen jedoch den gleichen Namen haben.
    • <input>-Elemente müssen innerhalb von Paragraphen <p> oder in Tabellenzellen <td> stehen. Das gilt auch für die «hidden fields».
    • Tabellen können nur eingeschränkt gestaltet werden.
    • Verwenden Sie keine html-Kodierungen wie &nbsp; &ouml; etc. Erlaubt sind nur &lt; &gt; (< >) &amp; (&) &apos; (') &quot; (")
  3. Geben Sie im Feld "-is_required" an, welches Pflichtfelder sind. (optional)
  4. Geben Sie im Feld "-sort_list" die Feldreihenfolge an, wie sie im Mail erscheinen soll. (optional)
  5. Ersetzen Sie im untersten Paragraphen "EMPFAENGER@ABTEILUNG.UZH.CH" durch die Empfängeradresse des Formulars (nur UZH-Mailadressen erlaubt).
  6. Ersetzen Sie unten "PUBLIKATION" durch Ihren Publikationsnamen und fügen Sie bei "/.../" den Pfad zum Formular ein
  7. Beachten Sie den doppelten "_" beim Attribut -BASE__URL!

2. Bestätigungsseite erstellen (confirmation.html)

  • Erstellen Sie eine versteckte Bestätigungs-Seite (ID = confirmation, Navigationstitel/Dokumenttitel = Bestätigung) (zum Beispiel als Unterseite der Formularseite)
  • Setzen Sie beliebigen Text ein, z.B. «Ihre Angaben wurden verschickt. Vielen Dank.»

3. Fehlermeldungs-Seite erstellen (error.html)

  • Erstellen Sie eine versteckte Fehlermeldungs-Seite (ID = error, Navigationstitel/Dokumenttitel = Fehlermeldung) (zum Beispiel als Unterseite der Formularseite)
  • Setzen Sie folgenden Code im <body> (bzw. anstelle des Textparagraphen) ein: <p>$ERROR</p>. Bei unvollständig ausgefüllten Formularen wird damit eine Liste der fehlenden Felder angezeigt.

HTML-Code

// Formular-Code hier hineinkopieren //