Abschnitt: Formular-Editor: Unterschied zwischen den Versionen
Zeile 151: | Zeile 151: | ||
===PHP Mehrsprachigkeit=== | ===PHP Mehrsprachigkeit=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<source lang="php"> | <source lang="php"> |
Version vom 17. Juli 2015, 14:56 Uhr
Beschreibung
Der Formular-Editor ermöglicht die Erstellung von beliebig vielen einfach strukturierten Formularen. Die einzelnen Formular-Felder werden in beliebig vielen Fieldsets gruppiert. Innerhalb der Fiedsets können Felder mit verschiedenen Feld-Typen definiert werden.
Verschiedene Typen von Eingabefeldern
- Anmerkung (kein Eingabefeld)
- Bei dieser Auswahl wird kein Eingabefeld erzeugt. Es dient dazu Anmerkungen/Freitext innerhalb des Formulars zu Platzieren
- einzeilige Texteingabe
- Erzeugt ein einzeiliges Eingabefeld vom Typ 'text'.
- einzeilige Texteingabe für eine E-Mail-Adresse mit Validierung
- Erzeugt ein einzeiliges Eingabefeld vom Typ 'email'. Bei diesem Feld wird geprüft, ob die eingegebene E-Mail-Adressen syntaktisch korrekt ist. Werden die Formular-Daten als E-Mail verschickt, besteht noch die Möglichkeit zu bestimmen, dass an die eingegebene E-Mail-Adresse eine Bestätitgungs-E-Mail verschicken wird.
- einzeilige Texteingabe für eine Telefonnummer
- Erzeugt ein einzeiliges Eingabefeld vom Typ 'tel'.
- einzeilige Texteingabe für eine Zahl mit Validierung
- Erzeugt ein einzeiliges Eingabefeld vom Typ 'number'. Bei diesem Feld wird geprüft, ob die Eingabe eine ganze Zahl ist.
- mehrzeilige Texteingabe
- Erzeugt ein mehrzeilige Eingabefeld (Textarea).
- Checkboxen
- Erzeugt eine Checkbox oder eine Gruppe von Checkboxen. Hierbei müssen noch Werte für die einzelnen Checkboxen angegeben werden. Dazu wird in Infosite ein zusätzliches Feld eingeblendet. Wird mehr wie ein Wert definiert, werden die einzelnen Checkboxen zu einer Gruppe zusammengefasst.
- Radio-Buttons
- Erzeugt Radio-Buttons die in einer Gruppe zusammen gefasst werden. Hier müssen noch Werte für die einzelnen Radio-Buttons angegeben werden. Dazu wird in Infosite ein zusätzliches Feld eingeblendet.
- Auswahlliste
- Erzeugt eine Auswahl-Liste (Select-Box). Hier müssen noch Werte für die einzelnen Optionen angegeben werden. Dazu wird in Infosite ein zusätzliches Feld eingeblendet.
- Dateiauswahl für eine Datei mit Validierung
- Erzeugt ein Upload-Feld mit dem Dateien hochgeladen werden können. Diese Option steht nicht zur Verfügung, wenn aus den Formular-Daten ein Ticket in InfoTicket erzeugt wird. Grund dafür ist, das hier eine Viren-Prüfung stattfindet und so die Möglichkeit gegeben währe Viren in Infoticket einzuschleusen.
- Eingabefelder für die Kontaktdaten des Bürgers
- Hier werden mehrere Felder erzeugt um die Kontakt-Daten eines Bürgers aufzunehmen. Folgende Felder werden erzeugt: Anrede (Radio), Vorname (Text), Nachname (Text), Straße (Text), Hausnummer (Text), PLZ (Text), Ort (Text), Telefon (Text), E-Mail-Adresse (Email)
Feature
- Jedes Feld kann als Pflichtfeld definiert werden.
- Integrierte Spamschutz durch eine weitgehend barrierefreie, versteckte CAPTCHA-Funktion.
- Versendung der Formular-Inhalte über HTTP oder HTTPS.
Verbarbeitung der eingegebnen Formular-Daten
Nachdem der Nutzer auf der Webseite das Formular ausgefüllt und abgesendet hat, werden die Formular-Daten verarbeitet. Zunächst werden die Daten auf Gültigkeit geprüft. Ist dies der Fall werden die Daten entweder per E-Mail versendet oder es wird mit den Daten ein Ticket in InfoTicket angelegt.
Versand als E-Mail
Beim Versand als E-Mail können in dem Abschnitt in Infosite noch Einstellungen für den Versand vorgenommen werden:
- Angaben zum Adressaten der E-Mail (mehrere möglich)
- Angaben zum Absender der E-Mail
- Betrefftext der E-Mail
- -Mail auch als HTML-Mail verschickt
Erzeugen eines Tickets in InfoTicket
Sollen aus den Formular-Daten Tickets in InfoTicket angelegt werden, können in dem Abschnitt in Infosite noch Einstellungen für den Versand vorgenommen werden:
- Betrefftext des Tickets
- Angaben zum Adressaten des Tickets: Empfängergruppe und ggf. Empfänger, wenn das Ticket NICHT an die gesamte Gruppe gesendet werden soll
- InfoTicket-Typ
- Priorität
Konfiguration
IES Optionen
Name | Type | Beschreibung |
---|---|---|
sectionTypes.formEditor.options.deliverer
|
String | Gibt an, ob die Formular-Date als E-Mail versendet, oder ein Ticket in InfoTicket erzeugt werden sollen: email,infoticket |
sectionTypes.formEditor.options.https
|
String | Gibt an, ob das Formular über HTTPS verschickt werden soll: on, off. Wird diese Option nicht angegeben kann der Redakteur das über eine Checkbox entscheiden. |
{
"sectionTypes" : {
...,
"formEditor": {
"order": 0.9,
"id" : "formEditor",
"name": "Formular-Editor",
"template": {
"module" : "sitekit-module",
"uri" : "/templates/sectionTypes/formEditor.spml"
},
"aggregator" : { "module": "sitekit-module", "uri" : "/aggregator/sectionTypes/formEditor.spml", "type" : "formContainer" },
"options": {
"deliverer" : "email",
"https" : "on"
}
},
...
}
}
PHP Optionen
Verbindung zu Infoticket
Diese Konfiguration ist notwendig, wenn aus den Formular-Daten Tickets in InfoTicket erzeugt werden sollen
Name | Beschreibung |
---|---|
url
|
Basis-Url (Protocol, Servername u. ggf. Port) um IES auf dem InfoTicket läuft |
login
|
Login des Nutzers über den die Tickets angelegt werden sollen. |
password
|
Password des Nutzers über den die Tickets angelegt werden sollen. |
client
|
Mandant des Nutzers über den die Tickets angelegt werden sollen. |
array(
'component.content.form.formContainer.deliverer' => array(
'infoticket' => array(
'connection' => array(
'url' => 'http://localhost:8080',
'login' => 'infoticket-api',
'password' => 'secret',
'client' => 'ies2work'
)
)
)
)
Renderer-Konfiguration
Diese Konfiguration, die die Ausgabe steueren
Name | Beschreibung |
---|---|
field.textarea.cols
|
Konfiguration für die Textarea-Felder die der Formular-Editor erzeugt um die Anzahl der Zeichen pro Zeile zu setzten. |
field.textarea.rows
|
Konfiguration für die Textarea-Felder die der Formular-Editor erzeugt um die Anzahl der Zeilen zu setzten. |
array(
'renderer.html.arvedui.content.form' => array(
'field.textarea' => array(
'cols' => '50',
'rows' => '5'
)
)
)
Mehrsprachigkeit
Unterstütz keine parallele Mehrsprachigkeit.
IES Mehrsprachigkeit
Eingabemaske ist nur in deutsch verfügbar
PHP Mehrsprachigkeit
array(
'de.component.content.form.messages' => array(
'success' => array(
'headline' => 'Formular erfolgreich bearbeitet',
'text' => 'Das Formular wurde erfolgreich bearbeitet. Vielen Dank.'
),
'failure' => array(
'headline' => 'Es ist ein Fehler aufgetreten',
'text' => 'Aufgrund eines internen Fehlers konnte das Formular nicht bearbeitet werden. ' .
'Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal.'
),
),
'de.controller.form.action' => array(
'submit' => array(
'uploadInternal' => 'Beim Upload ist ein Fehler aufgetreten.',
'uploadToLarge' => 'Die hochgeladene Datei ist zu groß.',
'uploadIncomplete' => 'Die die Datei wurde nicht vollständig hochgeladen.'
)
),
'de.controller.form.validatorRule' => array(
'required' => 'Dieses Feld muss gefüllt werden.',
'email' => 'Ungültige E-Mail Adresse.',
'integer' => 'Ungültiger Zahlenwert. Die Zahl muss eine ganze Zahl sein.',
'decimal' => 'Ungültiger Zahlenwert. Die Zahl muss eine ganze Zahl oder eine Dezimalzahl sein.'
),
'de.email.arvedui.content.form' => array(
'confirmationPlainEmail' => array(
'intro' => "Wir danken Ihnen für Ihre E-Mail.\n\nUm Missbrauch von E-Mailadressen zu verhindern, wurde Ihnen eine Bestätigung zugeschickt.",
),
'plainEmail' => array(
'header' => 'Die folgende Nachricht wurde gesendet vom {client}-Webformular:',
'footer' => 'Webformular: {url}'
)
)
'de.html.arvedui.content.form' => array(
'form' => array(
"errorItemsMessage" => "Das Formular konnte nicht gesendet werden. Es sind folgende Korrekturen notwendig:"
)
)
)
Datenstruktur
IES Datenstruktur
Basis
Name | Type | Beschreibung |
---|---|---|
sp_headline
|
String | Überschrift |
sp_classname
|
String | Zusätzlicher Klassenname für das Formular |
sp_fieldset_iterate
|
ListInformation | Liste der Fieldsets |
Schaltflächen und Hinweise | ||
sp_submit
|
String | "absenden"-Button |
sp_notice
|
String | weitere Hinweise |
sp_https
|
String | Formulardaten verschlüsselt senden: true,false |
sp_consent
|
String | Pflichtfeld für die Einverständniserklärung zum Speichern der Daten einbinden: true,false |
Formulardatenversand per Email
Name | Type | Beschreibung |
---|---|---|
sp_deliverer
|
String | Hat immer den Wert 'email' |
sp_deliverer_email.sp_recipient_iterate[index].sp_name
|
String | Angaben zum Adressaten der E-Mail: Name |
sp_deliverer_email.sp_recipient_iterate[index].sp_email
|
String | Angaben zum Adressaten der E-Mail: E-Mailadresse |
sp_deliverer_email.sp_sender_name
|
String | Angaben zum Absender der E-Mail: Name |
sp_deliverer_email.sp_sender_email
|
String | Angaben zum Absender der E-Mail: E-Mailadresse |
sp_deliverer_email.sp_subject
|
String | Betrefftext der E-Mail |
sp_deliverer_email.sp_email_html
|
String | Inhalt der Mail im HTML-Format senden: true,false |
Formulardatenversand per InfoTicket
Name | Type | Beschreibung |
---|---|---|
sp_deliverer
|
String | Hat immer den Wert 'infoticket' |
sp_deliverer_infoticket.sp_subject
|
String | Betrefftext des Tickets |
sp_deliverer_infoticket.sp_infoticket_group.link
|
ID | Empfängergruppe |
sp_deliverer_infoticket.sp_infoticket_participant.link
|
ID | Empfängers, wenn das Ticket NICHT an die gesamte Gruppe gesendet werden soll. |
sp_deliverer_infoticket.sp_infoticket_type
|
String | Anchor des InfoTicket-Typ für die Tickets. |
sp_deliverer_infoticket.sp_infoticket_priority
|
String | Priorität für die Tickets. |
Fieldset
Name | Type | Beschreibung |
---|---|---|
sp_fieldset_iterate[index].sp_legend
|
String | Legende |
sp_fieldset_iterate[index].sp_field_iterate
|
ListInformation | Liste der Felder |
Feld
Name | Type | Beschreibung |
---|---|---|
sp_fieldset_iterate[index].sp_field_iterate[index].sp_fieldType
|
String | Type des Feldes (text, number, tel, email, ...) |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_options
|
String | Optionen (mit Semikolon getretten) für Checkbox, Radio-Buttons und Select-Box |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_text
|
String | Wird nur bei Anmerkungen für den Text der Anmerkung verwendet. |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_label
|
String | Feldbeschriftung |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_required
|
String | Gibt an ob es sich um ein Pflichtfeld handelt: true,false |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_inline
|
String | Gilt für Checkbox und Radio-Buttons für die Darstellung in einer Zeile: true,false |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_confirmation
|
String | Gilt für E-Mail, um an die E-Mail-Adresse ein Bestätigungs-E-Mail zu verschicken: true,false |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_break
|
String | Eine Leerzeile nach Feld einfügen: true,false |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_errorInvalid
|
String | Fehlermeldung nach Validierung für:Email, Nummer, Upload |
sp_fieldset_iterate[index].sp_field_iterate[index].sp_errorMissing
|
String | Fehlermeldung, wenn das Feld ein Pflichtfeld ist und nicht befüllt wurde |
Datenstruktur PHP
Model
SP\SiteKit\Model\Content\Form\**