Verweisen Sie auf Ihre AGB oder auf weitere Angebote.
Für diese fiktive Pizza- und Getränkebestellung müssen vollständige Kontaktdaten angegeben werden, der Interessent wird anschließend telefonisch kontaktiert.
Die Grundtabelle sammelt die Lieferdaten als Pflichtfelder sowie das Datum der Bestellung. Die beiden Detailtabellen sind jeweils mit der Grundtabelle verknüpft und ermöglichen die Speicherung mehrerer Zeilen zu jeder Bestellung. Die Randtabellen enthalten zusätzlich eine Spalte mit den Preisen.
Beim Klick auf den obigen Button wird eine neue Datenzeile in der Grundtabelle 'pizza_online_bestellen' erzeugt. Es wird ein sd:input-table - Element ohne Eingabefeld für den Nutzer verwendet. Dessen Id wird über das sd:cached-id - Attribut im Laufzeitcache des aktuellen Nutzers zwischengespeichert, so daß die Id für die folgenden Detaildatensätze zur Verfügung steht. Als Name wird hier
myIdgenutzt.
Die Felder für die Lieferdaten sind als Pflichtfelder definiert. Um eine Speicherung dennoch zu ermöglichen, wird für alle Pflichtfelder ein sd:ro-value - Element eingefügt, dessen sd:new-value - Attribut auf die Spalte gesetzt wird. Dies ermöglicht ein Überspringen der Allow-Null-Überprüfung beim Erzeugen des Datensatzes.
Dieses 'Absenden' besteht darin, den Hauptdatensatz erneut zu speichern, damit werden die Pflichtfelder automatisch überprüft. Zusätzlich setzt das sd:ro-value - Element ein Flag, welches das Absenden der Bestellung signalisiert.
Jede der Detailtabellen besitzt eine Spalte, die beim Speichern die ID des Bestell-Hauptdatensatzes benötigt. Diese Spalte wird vorbelegt, indem der mit sd:cached-id festgelegte Name der gecachten ID mit einem vorgestellten '$' als Wert eines sd:ro-value - Elements genutzt wird.
Der auf jeder Seite verfügbare Link zu Abbruch der Bestellung nutzt den folgenden Link:
/pizza-bestellung.html?action=sample-input-d-myIdDies ist der gewöhnliche Link zum Löschen einer Zeile, falls die Seite 'pizza-bestellung.html' ein sd:input-table - oder ein sd:rs - Element namens 'sample-input' kennt. Allerdings wird hier nicht die Nummer, sondern der Name der gecachten ID eingesetzt. Das gewöhnliche Löschen durch die Verwendung einer ID ist gesperrt durch die Nutzung von
sd:del-only-cached='myId'innerhalb des sd:input-table - Elements.
Zur Pizza-Bestellung