Upload-Modul für Formulare mit INQUIRY

Das Feature ist eine Kombination des Formularprogramms INQUIRY mit dem Upload-Modul. Der Kunde sendet ein (Anfrage-)Formular mit INQUIRY4 und kann dabei eine beliebige Datei mit dem Formular hochladen (Scan, Foto, usw.).

Mögliche Einsatzzwecke sind der Altersnachweis oder die Übermittlung des Gewerbescheins bei der Neukunden-Anmeldung in B2B-Shops. Letzteres wird in diesem Wegweiser beschrieben.


Hinweise zu Formulare mit INQUIRY:

Die Integrationsanleitung für ein HTML-Formular mit INQUIRY finden Sie unter:
Wegweiser: Formulare für Kundenanfragen

Unter Materialien befinden sich Beispiele für Template-/Konfigurations-Sets:
Materialien: Materialien zu INQUIRY

Eine detaillierte technische Beschreibung mit den INQUIRY-Tags finden Sie in der separaten Dokumentation unter:
Dokumentation: Formulare mit INQUIRY4

Die folgende Anleitung zeigt anhand eines schematischen Beispiels, wie in einem B2B-Shop ein Neukunde beim Ausfüllen seiner Adressdaten bei der Registrierung gleichzeitig seinen Gewerbenachweis mit hochladen kann.

 

1 Welche Templates und Konfigurationsdateien sind erforderlich?

In diesem Wegweiser wird das INQUIRY-Formular auf einem eigenen Template "tpl_anmeldung.htm" mit ExternInclude eingebunden.

Standardmäßig besteht ein INQUIRY aus mindestens drei Komponenten:

eine Konfigurationsdatei (anmeldung.config)

ein Template für das Anmelde-Formular (inquiry_anmeldung.htm) und

ein Template für die Bestätigung (inquiry_anmeldung_antwort.htm).

Dazu kommen nun die Komponenten des Upload-Moduls:

eine Konfigurationsdatei (anmeldung_upload.config)

ein Template für den Datei-Upload (inquiry_anmeldung_upload.htm)

Zwei optionale Templates sind für E-Mails an den Neukunden (mail_anmeldung_confirmemail.htm) und den Shopbetreiber (mail_anmeldung_inquiryemail.htm) vorgesehen.

 

2 Integration

Schritt 1: Freischaltung/Aktivierung durch WEBSALE

Für die Nutzung des Upload-Moduls ist eine technische Freischaltung/Aktivierung seitens WEBSALE notwendig. Bitte wenden Sie sich an Ihren WEBSALE-Ansprechpartner.

Teilen Sie in diesem Zusammenhang mit, ob folgende Funktionen gewünscht sind:

Upload von Dateien mit einer Dateigröße über 512 MB

optionale Virenprüfung für jeden Upload

einzelner Abschluss des Daten-Uploads für jede Bestellposition durch den Käufer

Geben Sie auch den Namen der Konfigurationsdatei des INQUIRY-Formulars an (anmeldung.config) und erfragen Sie die Adresse für den SFTP-Bereich, aus dem Sie die vom Kunden hochgeladene Dateien wieder downloaden können.

Schritt 2: Einstellungen für das Upload-Modul in der Shopkonfiguration shop.config

Für das neue Template des Datei-Uploads wird ein Eintrag im Abschnitt <Templates> benötigt. Ergänzen Sie die Shopkonfiguration shop.config mit dem Parameter Upload und dem entsprechenden Namen des neuen Templates:

<Templates>
   ...
   Upload            = inquiry_anmeldung_upload.htm
   ...
</Templates>

Referenz: Abschnitt Templates

Legen Sie den Abschnitt <Upload> in der Shopkonfiguration shop.config an und aktivieren das Upload-Modul.

<Upload>
   Allow                    = yes
</Upload>

Referenz: Konfiguration Upload

Schritt 3: INQUIRY über ExternInclude() auf neuem Template tpl_anmeldung.htm einbinden.

In diesem Beispiel wird das INQUIRY-Formular über das Tag WS-ExternInclude() in ein neues Template tpl_anmeldung.htm eingebunden. Sie können den Code auch in bestehende Seiten integrieren.

Das ExternInclude initiiert das Formular und lädt die Konfiguration des INQUIRY-Formulars anmeldung.config.

<body>
   ...
   {ST-Ajax}<WS-Ajax-ws_inquiry_content>{/ST-Ajax}
      ~WS-ExternInclude($URL-SSLDomain$/cgi/inquiry4.cgi?inq4=$WS-ShopID$.$WS-SubShopID$&cfg=anmeldung.config)~ 
   {ST-Ajax}</WS-Ajax-ws_inquiry_content>{/ST-Ajax}
   ...
</body>

Referenz: WS-ExternInclude()

Schritt 4: Erstellen der Konfigurationsdatei anmeldung.config für das INQUIRY

Erstellen Sie eine neue Konfigurationsdatei anmeldung.config im Online-Servicebereich (im Dienst Konfiguration > Konfigurationen für Formulare (Inquiry)). Der Name der Konfigurationsdatei muss mit dem Parameter cfg des WS-ExternInclude() übereinstimmen.

In dieser Konfigurationsdatei anmeldung.config legen Sie u. a. die Namen der Templates für das Formular und die Bestätigungsseite sowie die optionalen E-Mail-Templates fest.

Legen Sie alle benötigten Adressfelder für das Formular zum Anmelden an. Passen Sie bei Bedarf die Subshop-ID im Parameter CountryDat an. Aktivieren Sie das Upload-Modul zu diesem INQUIRY-Formular mit einem eigenen Abschnitt <Upload> und darin die Angabe der Konfigurationsdatei des Upload-Moduls (anmeldung_upload.config).

###################################################################################################################
#  I N Q U I R Y . C O N F I G
###################################################################################################################
 
<Basic>
   InquiryPage               = inquiry_anmeldung.htm                            # HTML-Template mit den Formularfeldern
   ConfirmPage               = inquiry_anmeldung_antwort.htm                    # HTML-Template das nach einer Anfrage angezeigt wird
   CommonInputRequired       = no                                               # Ist mindestens ein allgemeines Anfragefeld erforderlich
   EMailCheckMethod          = domain                                           # [none|syntax|domain], Teststufen der E-Mail-Adressen, empfohlen [domain]
   Language                  = DEU                                              # Sprache des Shops im ISO-Code
   CountryDat                = ../../../konfiguration/Deutsch/country.dat       # Liste der Länder
   SalutationDat             = ../../../konfiguration/salutation.dat            # Liste der Anreden
   TitleDat                  = ../../../konfiguration/title.dat                 # Liste der Titel
   Referer                   = #ihr-shop.de                                     # optional, Refererschutz: gültige Referer durch Komma getrennt angeben
   WSOMAllow                 = no                                               # [yes|no], soll die Anfragen vom WS-OrderManager verarbeitet werden
   charset                   = ISO-8859-1                                       # Charset
</Basic>
   
###################################################################################################################
#  E-Mails
###################################################################################################################
 
<InquiryEmail>
   SendEMail                 = yes                                 # [yes|no], E-Mail an den Shopbetreiber schicken
   EmailSubject              = Neue Anmeldung                      # Betreff der E-Mail
   EmailAddress              = info@ihr-shop.de                    # Eine Anfrage geht zu dieser E-Mail-Adresse, mehrere können durch Komma getrennt werden
   EmailTemplate             = mail_anmeldung_inquiryemail.htm     # Name des E-Mail-Templates an den Shopbetreiber
</InquiryEmail>
 
<ConfirmEmail>
   SendEmail                 = yes                                 # [yes|no|userselect], Bestätigungs-E-Mail an den Neukunden schicken,
   EmailSubject              = Ihre Anmeldung                      # Betreff der E-Mail an den Neukunden
   SenderName                = Ihr-Shop                            # Der Absender
   SenderEmail               = neuanmeldung@ihr-shop.de            # Die E-Mailadresse des Absenders/Shopbetreibers
   EmailTemplate             = mail_anmeldung_confirmemail.htm     # Template der E-Mail für den Neukunden, HTML-E-Mail-Template
</ConfirmEmail>
 
<ErrorMessages>                           
   Error                     = Um Ihre Anfrage vollständig bearbeiten zu können, ergänzen Sie bitte die markierten Angaben:
   AddressEmailError         = Ungültige E-Mail-Adresse
   DeliverEmailError         = Ungültige E-Mail-Adresse
   CommonInputMissing        = Treffen Sie bitte Ihre Wahl / machen Sie entsprechende Angaben
   NoInput                   = Füllen Sie bitte mindestens ein Feld aus und versuchen Sie es erneut.
</ErrorMessages>
 
### Falls zusätzliche Felder im Formular stehen sollen
<+CommonInput>
   Allow                     = yes
   Type                      = Text
   Name                      = branche 
   Descr                     = Branche
   Required                  = no
   Max                       = 50
</+CommonInput>
 
 
###################################################################################################################
#  Ergänzen Sie hier die gewünschten Adressfelder für den Neukunden (Rechnungsadresse)
###################################################################################################################
 
<A-LastName>                           
   Allow                     = yes                             
   Type                      = Text
   Name                      = name
   Descr                     = Firma          # Statt Nachname soll hier der Firmennamen eingegeben werden
   Required                  = yes
   Max                       = 50
</A-LastName>                           
   
<A-Street1>                           
   Allow                     = yes
   Type                      = Text
   Name                      = street1 
   Descr                     = Straße
   Required                  = no
   Max                       = 50
</A-Street1>                              
 
...
...
 
 
###################################################################################################################
#  Uploadmodul
###################################################################################################################
 
<Upload>
   Allow                   = yes
   UploadIni               = anmeldung_upload.config
   UploadDescr             = Gewerbenachweis
</Upload>

Materialien: Beispielkonfiguration anfrage.config

Eine Beschreibung der Abschnitte und Parameter der INQUIRY-Konfigurationsdatei finden Sie in der separaten Dokumentation unter:
Dokumentation: Formulare mit INQUIRY4
 

Schritt 5: Erstellen der Eingabefelder auf dem neuen Template inquiry_anmeldung.htm

Erstellen Sie ein neues Template in Ihrem Templateverzeichnis. Der Name muss mit dem Parameter InquiryPage aus der Konfigurationsdatei anmeldung.config übereinstimmen. Der Inhalt des Templates steht innerhalb der Bereich-Tags {WS-Include} und wird über das WS-ExternInclude auf dem Template tpl_anmeldung.htm ausgegeben.

Der Code enthält das Formular "~FORM-SSLTemplate(tpl_anmeldung.htm)~" mit den Eingabefeldern, die in der Konfigurationsdatei anmeldung.config hinterlegt wurden. Ebenso wird hier der iFrame eingefügt, der das Template für den Datei-Upload integriert.

{WS-Include}
   <div id="anmeldung_neukunde_container">
      {ST-Ajax}<WS-Ajax-anmeldung_neukunde_container>{/ST-Ajax}
         <form action="~FORM-SSLTemplate(tpl_anmeldung.htm)~" method="POST" id="anmeldung_neukunde">
            ~INQUIRY-Link~
            <input type="hidden" name="otp2" value="NewUser">
 
            <!-- Hier folgen die Adresseingabefelder, wie in der Konfiguration anmeldung.config eingetragen -->
            <div class="form-group{A-LastName_error} has-error has-feedback{/A-LastName_error}">
               <div class="input_check">
                  <label for="~A-LastName_input~" class="control-label">~A-LastName_descr~</label>
                  <input type="text" name="~A-LastName_name~" maxlength="~A-LastName_max~" value="~A-LastName~" id="~A-LastName_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-LastName_descr~">
               </div>
            </div>
 
            <div class="form-group{A-Street1_error} has-error has-feedback{/A-Street1_error}">
               <div class="input_check">
                  <label for="~A-Street1_input~" class="control-label">~A-Street1_descr~</label>
                  <input type="text" name="~A-Street1_name~" maxlength="~A-Street1_max~" value="~A-Street1~" id="~A-Street1_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-Street1_descr~">
               </div>
            </div>
 
            <div class="form-group{A-ZIP_error} has-error has-feedback{/A-ZIP_error}">
               <div class="input_check">
                  <label for="~A-ZIP_input~" class="control-label">~A-ZIP_descr~</label>
                  <input type="text" name="~A-ZIP_name~" maxlength="~A-ZIP_max~" value="~A-ZIP~" id="~A-ZIP_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-ZIP_descr~">
               </div>
            </div>
 
            <div class="form-group{A-City_error} has-error has-feedback{/A-City_error}">
               <div class="input_check">
                  <label for="~A-City_input~" class="control-label">~A-City_descr~</label>
                  <input type="text" name="~A-City_name~" maxlength="~A-City_max~" value="~A-City~" id="~A-City_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-City_descr~">
               </div>
            </div>
 
            <div class="form-group{A-Country_error} has-error has-feedback{/A-Country_error}">
               <div class="input_check_select">
                  <label for="~A-Country_input~" class="control-label">~A-Country_descr~</label>
                  ~A-Country_list~                     
               </div>
            </div>
 
            <div class="form-group{A-Phone_error} has-error has-feedback{/A-Phone_error}">
               <div class="input_check">
                  <label for="~A-Phone_input~" class="control-label">~A-Phone_descr~</label>
                  <input type="text" name="~A-Phone_name~" maxlength="~A-Phone_max~" value="~A-Phone~" id="~A-Phone_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-Phone_descr~">
               </div>
            </div>
 
            <div class="form-group{A-email_error} has-error has-feedback{/A-email_error}">
               <div class="input_check">
                  <label for="~A-email_input~" class="control-label">~A-email_descr~</label>
                  <input type="email" name="~A-email_name~" maxlength="~A-email_max~" value="~A-E-Mail~" id="~A-email_input~" 
                     class="form-control" autocomplete="false" placeholder="~A-email_descr~">
               </div>
            </div>
 
            Wir benötigen Ihren Gewerbenachweis. Sie können diesen unterhalb hochladen
            <div id="anmeldungUploadIframe" class="container-iframe">
               <iframe id="frameUpload" src="~UPLOAD-SSLLink~" frameborder="0" allowfullscreen class="iframe" style="height:272px;"></iframe>
               <input type="submit" name="~INQUIRY-ReloadButton~" value="Bestätigung" id="reloadbutton" style="display: none;">
            </div>
            <style>
               .container-iframe {
                  position: relative;
                  width: 100%;
                  height: 120px;
                  transition: height .2s;
               }
 
               .iframe {
                  position: absolute;
                  top: 0;
                  left: 0;
                  width: 100%;
                  height: 100%;
                  transition: height .2s;
               }
            </style>
            <button type="submit">Submit</button>
         </form>
      {ST-Ajax}</WS-Ajax-anmeldung_neukunde_container>{/ST-Ajax}
   </div>
{/WS-Include}

Referenz: WS-Include

Referenz: FORM-SSLTemplate()

Schritt 6: Bestätigung auf dem Template inquiry_anmeldung_antwort.htm anbieten

Die Hinweise werden nach dem Absenden des Formulars im Shop angezeigt. Fügen Sie folgenden Code auf ein neues HTML-Template inquiry_anmeldung_antwort.htm ein. Der Name des Templates muss mit dem Eintrag des Parameters ConfirmPage in der Konfigurationsdatei des INQUIRY anmeldung.config übereinstimmen.

{WS-Include}
  {!Inquiry-AlreadySent} 
    Ihre Anmeldung wurde erfolgreich an uns weitergeleitet.
    <a href="%%URLHomepage%%">Zur Startseite</a>
  {/!Inquiry-AlreadySent}
        
  {Inquiry-AlreadySent}
     Wichtiger Hinweis:<br><br> Das Formular wurde bereits abgesendet oder Sie waren zu lange inaktiv.<br>Bitte rufen Sie das Formular erneut auf.
    <a href="%%URLHomepage%%">Zur Startseite</a>
  {/Inquiry-AlreadySent}
{/WS-Include}

Referenz: WS-Include

Schritt 7: Erstellen der Konfigurationsdatei anmeldung_upload.config für das Upload-Modul

Erstellen Sie eine neue Konfigurationsdatei anmeldung_upload.config ebenfalls im Online-Servicebereich (im Dienst Konfiguration > Konfigurationen > Konfigurationen für Formulare (Inquiry)). Der Name dieser Konfigurationsdatei muss mit dem Parameter UploadIni im Abschnitt <Upload> in der INQUIRY-Konfigurationsdatei anmeldung.config übereinstimmen.

In dieser Upload-Konfiguration legen Sie Hinweistexte, Datumsformat, Datei-Typen sowie das Template für die Upload-Funktion (inquiry_anmeldung_upload.htm) fest.

<UploadMessages-Txt>
   TemplSectionMissing        = In der Konfigurationsdatei fehlt der Abschnitt 'Templates'
   UploadTemplMissing         = In der Konfigurationsdatei ist kein Wert für den Parameter 'Upload' im Abschnitt 'Templates' eingetragen
   UploadTemplFileMiss        = Die Template-Datei '%s' ist nicht vorhanden
   EmptyUplId                 = Sie habe keine Upload-ID eingegeben. Diese benötigen wir, um den Datenupload Ihrer Bestellung zuordnen zu können. Ihre Upload-ID finden Sie in der Bestellbestätigung, die wir Ihnen per E-Mail zugesandt haben.
   InvalidUplId               = Diese Upload-ID konnte leider nicht gefunden werden. Bitte überprüfen Sie Ihre Eingabe. Ihre Upload-ID finden Sie in der Bestellbestätigung, die wir Ihnen per E-Mail zugesandt haben.
   InvalidOrdernumber         = Für die angegebene Ordernumber existiert keine Bestellung oder für die Produkte der Bestellung ist kein Upload vorgesehen
   FileSizeExceeded           = Es können nur Dateien bis zu einer Größe von %d MB hochgeladen werden
   PosQuotaExceeded           = Für eine Bestellpositionen können nicht mehr als %d MB hochgeladen werden
   PosCountExceeded           = Für eine Postionen können nicht mehr als %d Dateien hochgeladen werden
   LowDiskSpace               = Auf dem Ziellaufwerk ist nicht mehr genügend Speicherplatz vorhanden. Bitte setzen Sie sich mit dem Shopbetreiber in Verbindung oder versuchen Sie den Upload später nochmal.
   LowDiskSpaceSubj           = Upload-Funktion deaktiviert
   LowDiskSpaceMail           = Auf dem Ziellaufwerk für die Upload-Dateien sind weniger als %d MB frei, weitere Uploads sind deshalb nicht möglich. Bitte löschen Sie vorhandene Upload-Dateien oder setzen Sie sich mit der WEBSALE-AG in Verbindung.
   QuotaExceededMail          = Der für Ihren Upload-Bereich bereitgestellte Plattenplatz von ~totalspace~ MB ist aufgebraucht, es sind derzeit ~usedspace~ MB belegt. Die Upload-Funktion wurde deaktiviert, bitte Löschen Sie nicht mehr benötigte Dateien aus dem Upload-Verzeichnis. Um die Upload-Funktion wieder freizugeben, löschen Sie die Datei « deactivated.sgn » im Upload-Verzeichnis. Beachten Sie, dass die Upload-Funktion erneut gesperrt wird, wenn Sie diese Datei löschen ohne vorher genügend Platz in Ihrem Upload-Bereich freizugeben!
   QuotaExceededSubj          = Upload-Funktion deaktiviert (Quota überschritten)
   QuotaExceededWMail         = Von dem für Ihren Upload-Bereich bereitgestellte Plattenplatz von ~totalspace~ MB, sind derzeit ~usedspace~ MB belegt. Bitte denken Sie daran nicht mehr benötigte Dateien in diesem Bereich zu löschen, da bei einer Überschreitung des Quotas die Upload-Funktion deaktiviert wird.
   QuotaExceededWSubj         = Speicherplatz im Upload-Bereich
   InvalidExt                 = Ungültige Dateiendung: (erlaubt sind: ~validexts~)
   DupFile                    = Die Datei '~filename~' wurde bereits hochgeladen. Falls sie die bereits existierende Datei überschreiben möchten, löschen Sie sie bitte vorher heraus.
   SafariHint                 = HINWEIS FÜR SAFARI-NUTZER\n\nDie Übertragung wird gestartet \nnachdem Sie auf \"Ok\" geklickt haben.\n\nBitte warten Sie anschließend, bis in der \nListe der bereits übertragenen Dateien\nder Dateiname angezeigt wird.
   TransferRunning            = Übertragung läuft bereits
   DelConfirm                 = Wollen Sie die markierten Dateien wirklich löschen?
   Files                      = Datei(en)
   LogType_delete             = Datei gelöscht
   LogType_upload             = Datei hochgeladen
   LogType_uploaddupfile      = Datei bereits vorhanden
   LogType_finished           = Uploads abgeschlossen
   LogType_unlocked           = Abschluss aufgehoben
   LogType_filelimit          = Maximale Größe je Datei überschritten
   LogType_poslimitcount      = Maximale Anzahl von Dateien je Bestellposition überschritten
   LogType_limitmb            = Maximale Größe je Bestellposition überschritten
   LogType_uploaderror        = Unvollständiger Datenupload
</UploadMessages-Txt>
   
<Settings>
   DateFormat = %d.%m.%Y                            # Datums-Format (Format siehe C-Funktion "strftime")
   TimeFormat = %H:%M                               # Zeit-Format (Format siehe C-Funktion "strftime")
   Extensions = JPG,JPEG,TIFF,PDF,ZIP,RAR,TXT,TIF   # zulässige Extensions für Upload-Dateien (kommaseparierte Liste)
</Settings> 

<Templates>
   Upload     = inquiry_anmeldung_upload.htm
</Templates>

Referenz: Beispielkonfiguration wsupload.config

Schritt 8: Upload-Modul mit Skript und Formular auf neuem Template inquiry_anmeldung_upload.htm integrieren

Erstellen Sie ein neues Template in Ihrem Templateverzeichnis. Der Name muss mit dem Parameter Upload aus der Konfigurationsdatei anmeldung_upload.config übereinstimmen.

Das Template des Upload-Moduls enthält Upload-Skripte im <head>-Bereich, Hinweistexte, Liste der bereits hochgeladenen Dateien und das Formular für den Datei-Upload.

<!DOCTYPE html>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <base href="~baseurl~">
 
   <link rel="stylesheet" href="../css_upload/bootstrap.css">
   <link rel="stylesheet" href="../css_upload/bootstrap-override.css">
   <link rel="stylesheet" href="../css_upload/styles.css">
   <script src="../js_upload/jquery-3.5.1.js"></script>
   <script src="/$WS/ws_sysdata/js/upload-1.0.0.js"></script>
 
   <script>
      function setiframeheight(){
         var $iframeheight = $('html').outerHeight();
         window.parent.document.querySelector('#anmeldungUploadIframe.container-iframe').style.height = $iframeheight+'px';
         window.parent.document.querySelector('#anmeldungUploadIframe #frameUpload').style.height = $iframeheight+'px';
      }
      window.parent.$('#iframeModalUpload').on('shown.bs.modal', function () {
         setiframeheight();
      })
   </script>
</head>
 
<body>
   <!-- Tag für die Ersetzung von Scripten, die nicht in eine externe Datei ausgelagert werden können -->
   ~WSUploadScripts~
 
   <!-- Hinweisbereich, der eingeblendet wird, wenn der Browser kein DHTML unterstützt -->
   <div id="NoDHTML">
      Ihr Browser unterstützt kein DHTML. Teile der Funktionalitäten dieser Seite stehen deshalb nicht zur Verfügung.
   </div>
 
   {Msg}
      <!-- Bereich für Fehler- und Hinweismeldungen -->
      ~Msg~
      <script>setTimeout(function(){setiframeheight();}, 200);</script>
   {/Msg}
 
   {UploadSuccess}
      <script>setTimeout(function(){setiframeheight();}, 200);</script>
   {/UploadSuccess}
 
   {Item}
      {HasFiles}
         <form name="delform" id="delform" method="post" action="~delurl~">
            {@Files}
               <p>~FileName~ (~FileSize~ MB) 
                  <span aria-hidden="true" onClick="$(this).children('input').prop('checked', true);$('#DelBtn').click();">
                     löschen
                     <input type="checkbox" name="~FileMarkBoxName~" value="marked" style="display: none;">
                  </span>
               </p>
               <input type="hidden" name="~FileNameName~" value="~FileName~">
            {/@Files}
            <input type="submit" name="DelBtn" id="DelBtn" value="löschen" style="display: none;">
         </form>
      {/HasFiles}
 
      {Logging}
         Durchgeführte Übertragungen
         {@LogLines}
            ~Date~ ~Time~
            ~Type~
            ~FileName~
         {/@LogLines}
      {/Logging}
 
      <form name="uplform" id="uplform" enctype="multipart/form-data" method="post" action="~uplurl~">
         <div id="uplfiletxt">Neue Datei hochladen</div>
         <input type="file" name="uplfile" id="uplfile" style="opacity: 0;position: absolute;top: 0;left: 0;margin: 0;width: 100%;height: 100%; cursor: pointer; z-index: 200;">
         <input type="submit" name="UploadBtn" id="UploadBtn" value="Transfer starten" style="display: none;">
      </form>
 
      <script>
         document.getElementById('uplfile').onchange = function () {
            document.getElementById('uplfiletxt').innerHTML = this.value.replace(/.*[\/\\]/, '');
            document.getElementById('uplform').submit();
         };
      </script>
 
      <div id="toolargediv" style="display: none;">
         Fehler bei Übertragung
         <a href="~NewUplLink~">Neuer Upload</a>
      </div>
 
      <script>setTimeout(function(){setiframeheight();}, 200);</script>
   {/Item}
</body>
</html>

Referenz: WSUploadScripts

Referenz: Msg

Referenz: UploadSuccess

Referenz: Item

Referenz: HasFiles

Referenz: delurl

Referenz: Files

Referenz: FileName

Referenz: FileSize

Referenz: FileMarkBoxName

Referenz: FileNameName

Referenz: Logging

Referenz: LogLines

Referenz: Date

Referenz: Time

Referenz: Type

Referenz: uplurl

Referenz: NewUplLink

Schritt 9: E-Mail-Template mail_anmeldung_inquiryemail.htm für den Shopbetreiber (optional)

Wünschen Sie eine Benachrichtigung per E-Mail über eine neue Anmeldung in Ihrem Shop, dann konfigurieren Sie den Abschnitt <InquiryEmail> in der Konfigurationsdatei des INQUIRY anmeldung.config.

Erstellen Sie ein neues E-Mail-Template mail_anmeldung_inquiryemail.htm und lassen sich mit dem INQUIRY-Tag AUTOGENERATE-full den kompletten Inhalt der Anmeldung zusenden.

<body>
   ...
   ~AUTOGENERATE-full~
   ...
</body>

 

Schritt 10: Versenden einer Bestätigungs-E-Mail mail_anmeldung_confirmemail.htm an den Neukunden (optional)

Konfigurieren Sie den Abschnitt <ConfirmEmail> in der Konfigurationsdatei des INQUIRY anmeldung.config. Fügen Sie folgenden Code in ein neues E-Mail-Template mail_anmeldung_confirmemail.htm ein.

Die automatische Antwort erhält der Anfragende per E-Mail.

<body>
   ...
   ~A-Salutation_complete~<br>
   wir führen Ihre Anmeldung unter der Referenznummer ~INFO-Reference~ und werden so bald wie möglich auf Sie zukommen.
   ...
</body>

 
Eine Beschreibung der INQUIRY-Tags finden Sie in der separaten Dokumentation unter:
Dokumentation: Formulare mit INQUIRY4