GSB 7.0 Standardlösung

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/TextEmailTemplate
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
defaultSender=GSB-Bestellsystem <bestellung@domain.example>
optional=false
OrderItemTemplate=${NUM} x ${NAME} - ${DOWNLOADNR}
Klassifizierte Parameter (cl2Parameters)Typ/TextEmailTemplate
Klassifizierungslink
Dokumenten-Links/mandant/_config/ResourceBundleEntries/Templates/ Warenkorb_Template
Typ/TextRecipientsTextInput
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 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/Textsuccess
Klassifizierungslink
Dokumenten-Links/mandant/DE/Service/Warenkorb/warenkorb_node
Typ/Textorder
Klassifizierungslink
Dokumenten-Links/mandant/DE/Service/Warenkorb/warenkorb_bestellerdaten_node
Typ/Textfailure
Klassifizierungslink
Dokumenten-Links/mandant/DE/Service/Warenkorb/ warenkorb_node
Formularelemente
(cl2Items)
Typ/Textfield
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Formular/Warenkorb
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Dynamisches_Feld
Typ/Textupdate
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Warenkorb
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Buttons/Warenkorb_Aktualisieren
Typ/Textsubmit
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/Textfailure
Klassifizierungslink
Dokumenten-Links/mandant/DE/Service/Warenkorb/warenkorb_bestellerdaten_node
Typ/Textsuccess
Klassifizierungslink
Dokumenten-Links/mandant/DE/Service/Warenkorb/warenkorb_bestellungerfolg_node
Formularelemente
(cl2Items)
Typ/Texterror
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Formulare/Elemente/Error
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Formularfehler
Typ/Textsalutation
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Selectboxen/Warenkorb_Bestellerdaten_Anrede
Typ/TextfirstName
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Vorname
Typ/Textname
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Name
Typ/Textcompany
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Firma
Typ/Textroad
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdate_Straße
Typ/Textpostcode
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_PLZ
Typ/Textlocation
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdate_Wohnort
Typ/Textcountry
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Land
Typ/Textemail
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Textfelder/Warenkorb_Bestellerdaten_Email
Typ/Texthelp
Klassifizierungslink/mandant/SiteGlobals/Layout/Views/Standard
Dokumenten-Links/mandant/SiteGlobals/Forms/_components/Seperator/Pflichtfeld
Typ/Textsubmit
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 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.