Version: GSB 7HTML-Formulare
Die zur Bearbeitung des Warenkorbs notwendigen Formulare werden mithilfe des GSB Formularbauskasten erstellt. Die folgenden Abschnitte beschreiben die notwenigen Formularbausteine.
Actions
Warenkorb_Aktualisieren
Ein „HTML-Formular Action“-Dokument (HFAction) wird angelegt. Diese Action dient der Aktualisierung des Warenkorbs, also der Änderung von Mengenangaben oder das Löschen von Elementen des Warenkorbs:
/mandant/SiteGlobals/Forms/_components/Action/Warenkorb_Aktualisieren
Parameter:
- Java-Klasse (className): de.bundonline.basis.web.struts.action.ShoppingCartUpdateAction
Warenkorb_Bestellerdaten
Damit bei der Bestellung eine Bestätigungs-Mail an den Besteller versendet werden kann, muss im Verzeichnis
/mandant/SiteGlobals/Forms/_components/Action/ Warenkorb_Bestellerdaten
ein entsprechendes „HTML-Formular Action“-Dokument (HFAction) angelegt werden. Diese Action verwendet folgende Parameter
Beschreibung (description) | Bestellungsemail an den Bestelleingang | |
Java-Klasse (className) | de.bundonline.basis.web.struts.action.ShoppingCartMailAction | |
Parameter (parameters) | EmimeType=text/plain
defaultSubject=Bestellung defaultSender=GSB-Bestellsystem <bestellung@domain.example> defaultRecipients=GSB-Bestellsytem <bestellung@domain.example> optional=false OrderItemTemplate=${NUM} x ${NAME} – Bestellnr. ${DOWNLOADNR} | |
Klassifizierte Parameter (cl2Parameters) | Typ/Text | EmailTemplate |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/_config/ResourceBundleEntries/Templates/ WarenkorbAbsender_Template |
Im Feld „Parameter“ können folgende Variablen benutzt werden:
- $NAME
- $TEASERTEXT
- $NUM
- $PRICE
- $CMID
- $SUM
- $DOWNLOADNR
Warenkorb_Bestellerdaten_Bestaetigung
Damit bei der Bestellung eine Auftrags-Mail an den Versender/Bearbeiter versendet werden kann, muss im Verzeichnis
/mandant/SiteGlobals/Forms/_components/Action/Warenkorb_Bestellerdaten_Bestaetigung
„HTML-Formular Action“-Dokument (HFAction) angelegt werden. Diese Action verwendet folgende Parameter
Beschreibung (description) | Bestätigungsmail für den User | |
Java-Klasse (className) | de.bundonline.basis.web.struts.action.ShoppingCartMailAction | |
Parameter (parameters) | EmimeType=text/plain defaultSubject=Bestellung | |
Klassifizierte Parameter (cl2Parameters) | Typ/Text | EmailTemplate |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/_config/ResourceBundleEntries/Templates/ Warenkorb_Template | |
Typ/Text | RecipientsTextInput | |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/ Warenkorb_Bestellerdaten_Email |
Buttons
Warenkorb_Aktualisieren
Für den Aktualisierungsbutton muss ein „HTML-Formular Generischer Button“-Dokument (HFGenericButton) im Verzeichnis
/mandant/SiteGlobals/Forms/_components/Buttons/ Warenkorb_Aktualisieren
angelegt werden. Das Dokument enthält den Parameter:
- ID (idName): update
WarenkorbBesteller-Bestellen
Für den Bestellenbutton muss ein „HTML-Formular Generischer Button“-Dokument (HFGenericButton) im Verzeichnis
/mandant/SiteGlobals/Forms/_components/Buttons/Warenkorb_Bestellerdaten_Bestellen
angelegt werden. Das Dokument enthält die Parameter:
- ID (idName): order
- Angezeigter Name (displayNameKey):
Hier sind die entsprechenden Label zu verlinken
- Type (typeAttribute): Submit-Button
Validatoren
Jedem Formularelement können ein oder mehrere Validatoren zugewiesen werden. Diese werden vor der eigentlichen Bearbeitung der Formular-Parameter durch die FormAction ausgeführt und setzen einen entsprechenden Fehlercode (ActionError). Das Formular verweist dann, ohne die eigentliche Action auszuführen, sofort auf die konfigurierte Fehlerseite, auf der die Fehlercodes angezeigt werden.
Allgemeine Validatoren
Der GSB verfügt über zahlreiche einfache Validator-Klassen (Zahlen, Feldlänge, Datumsangaben) aber auch komplexe Validatoren (E-Mail, Web-Addresse, Passowrt), die je nach Bedarf mit den entsprechenden Formularfelder verlinkt werden können.
Warenkorb
Mit dem „WarenkorbValidator“ kann optional eine Maximalanzahl von Objekten pro Eintrag konfiguriert werden. Für den WarenkorbValidator muss ein „HTML-Formular Baustein Validator“-Dokument (HFItemValidator) im Verzeichnis
/mandant/SiteGlobals/Forms/_components/Validator/Warenkorb
angelegt werden. Der Validator enthält folgende Parameter:
- Java-Klasse (className): de.bundonline.basis.web.struts.validation.ShoppingCartValidator
- Klassifizierte Parameter (cl2Parameters): LinkListe mit Typ/Text: 5 (= maximale Anzahl von Objekten im Warenkorb)
Eingabefelder
Die Textinput-Feld definieren auf der Basis von HTML-Formular Eingabefeld“-Dokumenten (Originalname HFTextInputField) einzeilige Texteingabefelder. Sie sind damit der wichtige Bausteine bei der Bearbeitung eines Warenkorbs.
Warenkorb_Bestellerdaten_Email
Die Email-Adresse des Versenders / Abwicklers wird durch
/mandant/SiteGlobals/Forms/_components/Textfelder/Warekorb_Bestellerdaten_Email
konfiguriert. Die Parameter lauten:
- ID (idName): email
Warenkorb_Dynamisches_Feld
Um die Anzahl der bestellten Waren festlegen zu können, wird ein „HTML-Formular Eingabefeld“-Dokument (HFTextInputField) unter
/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Dynamisches_Feld
angelegt: Es enthält folgende Parameter:
- ID (idName): dummy
- Form Filler-Klasse (formFillerClass): de.bundonline.basis.web.struts.formfiller.ShoppingCartFormFiller
Forms
Mithilfe von HFForm-Dokumenten wird die Zusammensetzung der Warenkorb-Formulare definiert. Die in Abschnitt 5.3 definierten Layoutgitter legen die zugehörigen Tabellenstrukturen fest, mit deren Hilfe die Formularbausteine strukturiert werden.
Warenkorb_Formular
Dieses HTML-Formular (HFForm) stellt den Inhalt des Warenkorbs dar. Dabei werden die Funktionalitäten
- Ändern der Bestellmenge
- Löschen von Inhalten
- Abschließen der Bestellung und weiter zur Erfassung der Bestellerdaten
realisiert:
/mandant/SiteGlobals/Forms/Warenkorb/Warenkorb_Formular
Parameter:
Beschreibung (description) | Warenkorb | |
ID (idName) | WarenkorbForm | |
Formularverarbeitungsreferenz auf (cl2Forwards) | Typ/Text | success |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/DE/Service/Warenkorb/warenkorb_node | |
Typ/Text | order | |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/DE/Service/Warenkorb/warenkorb_bestellerdaten_node | |
Typ/Text | failure | |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/DE/Service/Warenkorb/ warenkorb_node | |
Formularelemente (cl2Items) | Typ/Text | field |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Formular/Warenkorb | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Dynamisches_Feld | |
Typ/Text | update | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Warenkorb | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Buttons/Warenkorb_Aktualisieren | |
Typ/Text | submit | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Warenkorb | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Buttons/Warenkorb_Bestellerdaten_Bestellen | |
Action (action) | /mandant/SiteGlobals/Forms/_components/Action/Warenkorb_Aktualisieren | |
Layout (layout) | /mandant/SiteGlobals/Layout/ContentRegion/Layout_Warenkorb |
Warenkorb_Bestellerdaten_Formular
Dieses HTML-Formular dient der Erfassung der Bestellerdaten. Hier werden also insbesondere die Daten erfasst, die zur Abwicklung der Bestellung notwendig sind. Darüber hinaus wird hier festgelegt, wie die Bestelldaten weiterverarbeitet werden.
/mandant/SiteGlobals/Forms/Warenkorb/Warenkorb_Bestellerdaten_Formular
Parameter:
Beschreibung (description) | Formular, was nach dem ersten "Bestellung abschicken" auf der Warenkorbübersichtsseite angezeigt wird. Hier muss der "Besteller" seine Daten eintragen. | |
ID (idName) | BestellungAbschicken | |
Formularverarbeitungsreferenz auf (cl2Forwards) | Typ/Text | failure |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/DE/Service/Warenkorb/warenkorb_bestellerdaten_node | |
Typ/Text | success | |
Klassifizierungslink | ||
Dokumenten-Links | /mandant/DE/Service/Warenkorb/warenkorb_bestellungerfolg_node | |
Formularelemente (cl2Items) | Typ/Text | error |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Formulare/Elemente/Error | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Formularfehler | |
Typ/Text | salutation | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Selectboxen/Warenkorb_Bestellerdaten_Anrede | |
Typ/Text | firstName | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Vorname | |
Typ/Text | name | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Name | |
Typ/Text | company | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Firma | |
Typ/Text | road | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdate_Straße | |
Typ/Text | postcode | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_PLZ | |
Typ/Text | location | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdate_Wohnort | |
Typ/Text | country | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Land | |
Typ/Text | ||
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Email | |
Typ/Text | help | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Seperator/Pflichtfeld | |
Typ/Text | submit | |
Klassifizierungslink | /mandant/SiteGlobals/Layout/Views/Standard | |
Dokumenten-Links | /mandant/SiteGlobals/Forms/_components/Buttons/Warenkorb_Bestellerdaten_Bestellen /mandant/SiteGlobals/Forms/_components/Buttons/Reset | |
Action (action) | /mandant/SiteGlobals/Forms/_components/Action/Warenkorb_Bestellerdaten_Bestaetigung /mandant/SiteGlobals/Forms/_components/Action/Warenkorb_Bestellerdaten | |
Layout (layout) | /mandant/SiteGlobals/Layout/ContentRegion/Formulare/Layout_WarenkorbBestellung |
Die im Feld „Formularelemente“ (cl2Items) referenzierten Dokumente müssen ebenfalls angelegt werden. Hierbei werden die folgenden Ids bei den jeweiligen Elementen verwendet:
- Anrede: salutation
- Vorname: firstName
- Name: lastName (Pflichtfeld)
- Firma: company
- Straße: address (Pflichtfeld)
- PLZ: postalCode (Pflichtfeld)
- Wohnort: city (Pflichtfeld)
- Land: country
- Email: email (Pflichtfeld)
- Bestellen-Button: order
Bei abweichendem Layout können andere View-Varianten (LOViewVariant) verwendet werden!
Integratoren
Mithilfe der in diesem Abschnitt definierten Formular-Integratoren (Originalname HTMLFormEnts) werden die in Abschnitt 6.5 Formulare als Seiten-Bausteine für die Redakteure verfügbar gemacht werden.
Warenkorb_Bestellerdaten_Integrator
Für das Bestellformular
/mandant/SiteGlobals/Forms/Warenkorb/Warenkorb_Bestellerdaten_Formular
wird das zugehörige „HTML-Formular Integrator“-Dokument (HTMLFormEnt) unter
/mandant/SiteGlobals/Forms/Warenkorb/Warenkorb_Bestellerdaten_Integrator
angelegt.