Zum Hauptinhalt springen
Manche Formulare sind ohne Anhang wertlos. Eine B2B-Neukundenanmeldung braucht den Gewerbenachweis, eine Altersfreigabe den Ausweisscan. Die Kombination aus dem Formularprogramm INQUIRY und dem Upload-Modul erlaubt genau das: Der Kunde füllt ein Formular aus und lädt im selben Zug eine Datei hoch. Diese Seite zeigt den Fall der B2B-Neukundenanmeldung mit Gewerbenachweis. Das Vorgehen ist auf jeden anderen Formularfall übertragbar. Die Grundlagen von INQUIRY selbst stehen nicht auf dieser Seite. Wenn Sie noch kein Formular mit INQUIRY gebaut haben, beginnen Sie dort. Wegweiser: Formulare für Kundenanfragen Materialien: Materialien zu INQUIRY Dokumentation: Formulare mit INQUIRY4

Die Bestandteile

Ein INQUIRY-Formular mit Upload besteht aus bis zu acht Dateien. Die Namen im Beispiel sind frei gewählt, die Zusammenhänge dazwischen nicht.

Die Namenskette

Diese acht Dateien verweisen aufeinander. Jeder dieser Verweise ist eine Stelle, an der ein Tippfehler die Funktion still abschaltet. Die folgende Tabelle ist deshalb die eigentliche Arbeitsgrundlage dieser Seite.
Der letzte Eintrag ist der unsichtbarste. WEBSALE legt bei der Freischaltung einen Abschnitt an, dessen Name aus dem Dateinamen Ihrer Formularkonfiguration gebildet wird. Benennen Sie die Konfigurationsdatei später um, ist der Upload zu diesem Formular abgeschaltet, und in Ihrer eigenen Konfiguration steht nichts, was darauf hinweist.

Schritt 1: Freischaltung

Lassen Sie das Upload-Modul von der WEBSALE AG freischalten und klären Sie dabei folgende Punkte. Die Option “Abschluss je Bestellposition” aus der Bestellvariante entfällt hier. Ein Formular hat keine Bestellpositionen.

Schritt 2: Die Shopkonfiguration ergänzen

Wenn Ihr Shop zusätzlich das Upload-Modul für Bestellungen verwendet, steht im Abschnitt <Templates> unter Upload bereits das Template für den Bestell-Upload. Überschreiben Sie es nicht. Das Template für den Formular-Upload wird in Schritt 7 an anderer Stelle festgelegt, nämlich im Abschnitt <Templates> der Upload-Konfiguration.
Referenz: Abschnitt Templates · Abschnitt Upload

Schritt 3: Das Formular in eine Shopseite einbinden

WS-ExternInclude() ruft das Formularprogramm auf und übergibt ihm die Formularkonfiguration.
Das Formular muss nicht auf einem eigenen Template stehen. Der Aufruf lässt sich ebenso in eine bestehende Seite setzen. Referenz: WS-ExternInclude()

Schritt 4: Die Formularkonfiguration anlegen

Legen Sie im Online-Servicebereich unter “Konfigurationen für Formulare (Inquiry)” die Datei anmeldung.config an. Darin legen Sie die Templates, die Adressfelder und die E-Mails fest. Für den Upload kommt ein eigener Abschnitt hinzu.
Die Adressfelder legen Sie je Feld in einem eigenen Abschnitt an.
Descr bestimmt die Beschriftung im Formular und ist unabhängig vom technischen Feldnamen. Im Beispiel trägt das Feld für den Nachnamen die Beschriftung “Firma”, denn in einem B2B-Formular gibt der Kunde seinen Firmennamen ein. Passen Sie CountryDat an, wenn Ihr Subshop eine andere Sprache hat. Der Pfad zeigt auf die Länderliste, aus der die Auswahlliste im Formular entsteht. Für zusätzliche Felder, die keine Adressfelder sind, gibt es <+CommonInput>.
Materialien: Beispielkonfiguration anfrage.config Dokumentation: Formulare mit INQUIRY4

Schritt 5: Das Eingabetemplate anlegen

Der Name muss zu InquiryPage passen. Der gesamte Inhalt steht in der Klammerung WS-Include und wird über den Aufruf aus Schritt 3 in die Shopseite eingesetzt.
Jedes Feld folgt demselben Muster aus fünf Tags: _descr für die Beschriftung, _name für den Feldnamen, _input für die ID, _max für die Längenbegrenzung und der Feldname ohne Zusatz für den eingegebenen Wert. Die Klammerung _error markiert das Feld im Fehlerfall. Der Upload läuft in einem iframe, weil er ein eigenes Programm mit eigenem Formular ist. Er kann deshalb nicht Teil des Adressformulars sein. Das ist der Grund für die etwas umständliche Konstruktion mit der Höhenanpassung in Schritt 8. Für das Feld A-Country gibt es mit _list ein fertiges Auswahlfeld. Dort steht kein eigenes input-Element. Referenz: WS-Include · FORM-SSLTemplate()

Schritt 6: Das Bestätigungstemplate anlegen

Der Name muss zu ConfirmPage passen.
Der Gegenzweig ist kein Beiwerk. Wer die Bestätigungsseite neu lädt oder zurückspringt, sieht sonst erneut “erfolgreich abgesendet” und schickt das Formular unter Umständen ein zweites Mal ab.

Schritt 7: Die Upload-Konfiguration anlegen

Legen Sie an derselben Stelle im Online-Servicebereich die Datei anmeldung_upload.config an. Der Name muss zu UploadIni aus Schritt 4 passen.
Extensions ist eine Positivliste. Was nicht darin steht, wird abgewiesen. Nehmen Sie nur auf, was Sie wirklich verarbeiten können, und denken Sie an beide Schreibweisen gebräuchlicher Endungen, beispielsweise TIF und TIFF. Der Abschnitt <UploadMessages-Txt> kennt deutlich mehr Einträge als hier gezeigt. Viele davon betreffen ausschließlich den Upload zu Bestellungen und erscheinen bei einem Formular nie, beispielsweise alles rund um Upload-ID und Bestellpositionen. Die vollständige Liste steht in der Referenz. Referenz: Beispielkonfiguration wsupload.config

Schritt 8: Das Upload-Template anlegen

Der Name muss zu Upload aus Schritt 7 passen. Dieses Template läuft im iframe und ist deshalb ein vollständiges HTML-Dokument mit eigenem head.
Die Aufrufe von setiframeheight an mehreren Stellen sorgen dafür, dass der iframe im Elterndokument mitwächst, sobald sich sein Inhalt ändert. Ohne sie steht nach dem ersten Upload eine Bildlaufleiste im Rahmen. Das Auswahlfeld für die Datei schickt das Formular über ein eigenes Skript selbst ab. Die Schaltfläche “Transfer starten” bleibt deshalb verborgen. Ohne dieses Skript brauchen Sie sie sichtbar. WSUploadScripts ersetzt Skripte, die sich nicht in eine eigene Datei auslagern lassen. Das Tag muss im body stehen und darf nicht fehlen. Referenz: Tags zum Upload-Modul

Schritt 9: Die Benachrichtigung an den Shopbetreiber (optional)

Konfigurieren Sie den Abschnitt <InquiryEmail> in anmeldung.config.
Im Template genügt ein Tag, das den gesamten Inhalt der Anmeldung ausgibt.
Mehrere Empfängeradressen trennen Sie in EmailAddress durch Kommas.

Schritt 10: Die Bestätigung an den Kunden (optional)

SendEmail kennt neben yes und no auch userselect. Damit entscheidet der Kunde im Formular selbst, ob er eine Bestätigung möchte. Die Referenznummer gehört in diese E-Mail. Sie ist die einzige Angabe, mit der sich der Kunde bei einer Rückfrage auf seine Anmeldung beziehen kann.

Verwandte Themen