> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Materialien INQUIRY

> Zwei fertige Beispielsets für ein Kontaktformular mit INQUIRY4, eines mit PDF-Anhang und eines mit Rechenaufgabe, mit Konfiguration und allen Templates.

Hier liegen zwei fertige Sets aus Konfiguration und Templates für ein Kontaktformular. Nehmen Sie eines davon als Ausgangspunkt und passen Sie es an.

Wie ein INQUIRY aufgebaut ist, wo die Dateien hingehören und wie Sie das Formular in eine Shopseite einbinden, steht auf der Anleitungsseite. Diese Seite enthält nur die Vorlagen selbst.

Wegweiser: [Formulare für Kundenanfragen](https://dokumentation.websale.de/v8s/formulare-fuer-kundenanfragen/formulare-fuer-kundenanfragen.md) · [Upload-Modul für Formulare mit INQUIRY](https://dokumentation.websale.de/v8s/upload-modul/upload-modul-fuer-formulare-mit-inquiry.md)

## Die beiden Sets

| | Kontaktformular mit PDF-Anhang | Kontaktformular mit Rechenaufgabe |
| - | - | - |
| Besonderheit | der Anfragende kann seine Anfrage als PDF herunterladen | eine Rechenaufgabe hält einfache Spamprogramme ab |
| Zusätzlicher Abschnitt in der Konfiguration | `<PDF>` | `<Captcha>` |
| Zusätzliches Template | `anfrage_antwort_pdf.htm` | keines |

Die beiden Sets unterscheiden sich nur in diesen Punkten. Alles andere, die Grundkonfiguration, die Feldliste und die übrigen Templates, ist in beiden gleich. Sie können die Merkmale deshalb auch kombinieren: ein Formular mit Rechenaufgabe **und** PDF-Anhang entsteht, indem Sie beide Abschnitte in dieselbe Konfiguration aufnehmen.

## Die Dateien

| Datei | Wofür | Pflicht |
| - | - | - |
| `anfrage.config` | die Konfiguration des Formulars | ja |
| `anfrage.htm` | das Formular, das der Kunde ausfüllt | ja |
| `anfrage_antwort.htm` | die Seite nach dem Absenden | ja |
| `tpl_anfrage.htm` | die Shopseite, die das Formular einbindet | ja |
| `anfrage_confirmemail.htm` | die Bestätigung an den Anfragenden | nein |
| `anfrage_inquiryemail.htm` | die Benachrichtigung an den Shopbetreiber | nein |
| `anfrage_antwort_pdf.htm` | die Anfrage als PDF | nur im PDF-Set |

## anfrage.config

Die Konfiguration besteht aus drei Teilen: den allgemeinen Abschnitten, den freien Eingabefeldern und den festen Adressfeldern. Die ersten beiden stehen hier vollständig, die Adressfelder sind weiter unten als Muster mit Werteliste beschrieben.

### Die allgemeinen Abschnitte

> [accordion] anfrage.config, allgemeiner Teil
>
> ```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> ###
> #  I N Q U I R Y . C O N F I G
> #   Copyright (c) WEBSALE AG, Germany
> #   websale.de
> ###
>
> <Basic>
> InquiryPage         = anfrage.htm           # HTML-Template mit den Eingabefeldern
> ConfirmPage         = anfrage_antwort.htm   # HTML-Template, das nach einer Anfrage angezeigt wird
> CommonInputRequired = yes                   # 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/<ihre shopid>/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], gibt an, ob die Anfragen von WSOM verarbeitet werden sollen
> charset             = ISO-8859-1            # Zeichensatz
> </Basic>
>
> ###################################################################
> #  E-Mails
> ###################################################################
>
> <ConfirmEmail>
> SendEmail     = userselect                      # [yes][no][userselect], Bestätigungsmail an den Anfragenden schicken. Bei userselect muss der Abschnitt <SendUserEmail> vorhanden und aktiv sein
> EmailSubject  = Danke für Ihre Anfrage          # Betreff der E-Mail an den Anfragenden
> SenderName    = IhrShop                         # Der Absender
> SenderEmail   = info@ihre-domain.de             # Die E-Mail-Adresse des Absenders
> EmailTemplate = anfrage_confirmemail.htm        # Template der E-Mail für den Anfragenden
> </ConfirmEmail>
>
> <InquiryEmail>
> SendEMail     = yes                             # [yes][no], E-Mail an den Angefragten schicken
> EmailSubject  = Anfrage                         # Betreff der E-Mail
> EmailAddress  = sachbearbeiter@ihre-domain.de   # Empfänger, mehrere durch Komma getrennt
> EmailTemplate = anfrage_inquiryemail.htm        # Template der E-Mail an den Angefragten
> </InquiryEmail>
>
> ###################################################################
> #  Spezialfeld für <ConfirmEmail> SendEmail = userselect
> ###################################################################
>
> <SendUserEmail>
> Type     = checkbox                                     # Der Typ muss checkbox, radiobutton oder listbox sein
> Name     = sendConfirmEmail                             # Name des HTML-Elements
> Descr    = Ich möchte eine Bestätigungsmail erhalten    # Kurze textuelle Beschreibung
> UseInput = A                                            # [A][D][AD], welche E-Mail-Adressen vorhanden sein müssen
> </SendUserEmail>
>
> ###################################################################
> #  Fehlermeldungen
> ###################################################################
>
> <ErrorMessages>
> Error              = Um Ihre Anfrage zügig bearbeiten zu können, ergänzen Sie bitte folgende Angaben und versuchen Sie es erneut.
> AddressEmailError  = Die eingegebene E-Mail-Adresse ist ungültig. Bitte überprüfen Sie Ihre Eingabe.
> DeliverEmailError  = Die eingegebene E-Mail-Adresse ist ungültig. Bitte überprüfen Sie Ihre Eingabe.
> CommonInputMissing = Treffen Sie bitte Ihre Wahl oder machen Sie entsprechende Angaben
> NoInput            = Füllen Sie bitte mindestens ein Feld aus
> </ErrorMessages>
>
> ###################################################################
> #  Newsletter
> #
> #  Der Abschnitt <+NewsLetter> kann bis zu 10 mal angelegt werden.
> #  Ein Newsletter muss immer eine Checkbox sein.
> #  Namen dürfen nicht mit A- oder D- beginnen.
> #  Gilt nur in Verbindung mit dem WEBSALE Newsletter V1.
> ###################################################################
>
> <+NewsLetter>
> Allow        = no                           # [yes][no], Newsletter zulassen
> AutoRegister = no                           # [yes][no], automatische Anmeldung, dann wird keine Checkbox angezeigt
> Name         = news1                        # Name des Checkbox-Feldes im Formular, darf nur einmal vergeben werden
> Descr        = Anmeldung zum Newsletter 1
> EMail        = newsletter@xyz.de            # Adresse, an welche die An- und Abmeldung geschickt wird
> UseInput     = A                            # [A][D], welche E-Mail-Adresse verwendet wird
> Subject      = Anmelden                     # Betreff der An- und Abmeldemail
> SenderName   = IhrShop                      # Absender der E-Mail
> Charset      =                              # optional, Zeichenkodierung der E-Mail
> Template     =                              # optional, Template der E-Mail an das Newslettersystem
> Required     = A-LastName, A-FirstName      # optional, benötigte Felder für diesen Newsletter, durch Komma getrennt
> Hide         = yes                          # [yes][no], Standard no. Ob dieses Feld in der automatisch erzeugten Bestätigungsmail erscheint
> </+NewsLetter>
>
> ###################################################################
> #  Freie Eingabefelder
> #
> #  Der Abschnitt <+CommonInput> kann bis zu 1000 mal angelegt werden.
> #
> #  Allow    = [yes][no], Eingabefeld zulassen
> #  Type     = [Text][TextArea][CheckBox][RadioButton][ListBox]
> #  Name     = Name des Feldes im Formular, darf nur einmal vergeben werden
> #  Descr    = Beschriftung
> #  Required = [yes][no], Pflichtfeld
> #  Hide     = [yes][no], Standard no. Ob dieses Feld in der Bestätigungsmail erscheint
> #
> #  Namen dürfen nicht mit A- oder D- beginnen.
> ###################################################################
>
> <+CommonInput>
> Allow    = yes
> Type     = CheckBox
> Name     = beratung
> Descr    = - möchte Beratung
> Required = no
> </+CommonInput>
>
> <+CommonInput>
> Allow    = yes
> Type     = CheckBox
> Name     = praesentation
> Descr    = - Angebot Präsentation
> Required = no
> </+CommonInput>
>
> <+CommonInput>
> Allow    = yes
> Type     = RadioButton
> Name     = kontaktart
> Descr    = - Art der Kontaktaufnahme
> Required = no
> </+CommonInput>
>
> <+CommonInput>
> Allow    = yes
> Type     = Text
> Name     = seiten
> Descr    = - mit Anzahl Seiten
> Required = no
> Max      = 5
> </+CommonInput>
>
> <+CommonInput>
> Allow    = yes
> Type     = TextArea
> Name     = anmerkungen
> Descr    = - Anmerkungen
> Required = no
> Max      = 1000
> </+CommonInput>
> ```

### Nur im PDF-Set

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
###################################################################
#  PDF
###################################################################

<PDF>
Allow    = yes
Template = anfrage_antwort_pdf.htm
Filename = anfrage.pdf
</PDF>
```

### Nur im Set mit Rechenaufgabe

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
###################################################################
#  Captcha-Einstellungen
#  Hier stellen Sie die verwendeten Rechenarten ein.
###################################################################

<Captcha>
UseArithmeticCaptcha = yes
CaptchaDescription   = Eine kleine Rechenaufgabe
CaptchaNotFilledIn   = Bitte lösen Sie die Rechenaufgabe
CaptchaError         = Die Rechenaufgabe wurde nicht korrekt gelöst
</Captcha>
```

Die Rechenaufgabe ist nur eines von vier Captcha-Verfahren, die INQUIRY4 beherrscht. Welche es noch gibt und worauf Sie beim Datenschutz achten müssen, steht auf der Anleitungsseite.

### Die Adressfelder

Nach den freien Eingabefeldern folgen in der Konfiguration die festen Adressfelder, erst die des Anfragenden mit dem Präfix `A-`, dann die einer abweichenden Lieferadresse mit dem Präfix `D-`. Jedes Feld bekommt einen eigenen Abschnitt, und alle haben dieselbe Form:

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<A-LastName>
Allow    = yes      # [yes][no], Feld zulassen
Type     = Text     # [Text][ListBox]
Name     = name     # Name des Feldes im Formular
Descr    = Name     # Beschriftung
Required = yes      # [yes][no], Pflichtfeld
Max      = 45       # maximale Zeichenzahl, entfällt bei ListBox
</A-LastName>
```

Die folgende Tabelle zeigt, wie das Beispielset jedes Feld belegt. Legen Sie für jedes Feld, das Sie brauchen, einen Abschnitt nach dem Muster oben an.

| Abschnitt | `Allow` | `Type` | `Name` | `Descr` | `Required` | `Max` |
| - | - | - | - | - | - | - |
| `A-Number` | no | Text | `customer_id` | Kundennummer | no | 45 |
| `A-Salutation` | yes | ListBox | `anrede` | Anrede | yes | |
| `A-Company` | yes | Text | `firma` | Firma | no | 45 |
| `A-Department` | no | Text | `a_department` | Abteilung | no | 45 |
| `A-Title` | yes | ListBox | `a_title_list` | Titel | yes | |
| `A-FirstName` | yes | Text | `vorname` | Vorname | yes | 45 |
| `A-LastName` | yes | Text | `name` | Name | yes | 45 |
| `A-Street1` | yes | Text | `strasse` | Straße | yes | 45 |
| `A-Street2` | no | Text | `a_street2` | Hausnummer | no | 45 |
| `A-Zip` | yes | Text | `plz` | Postleitzahl | yes | 10 |
| `A-City` | yes | Text | `ort` | Ort | yes | 45 |
| `A-State` | no | Text | `state` | Staat | no | 45 |
| `A-Country` | yes | ListBox | `a_country` | Land | yes | |
| `A-Phone` | yes | Text | `tel` | Telefon | yes | 45 |
| `A-BusinessPhone` | no | Text | `a_business_phone` | Telefon geschäftlich | no | 45 |
| `A-MobilePhone` | no | Text | `a_mobile_phone` | Telefon mobil | no | 45 |
| `A-Fax` | yes | Text | `fax` | FAX | no | 45 |
| `A-BusinessFax` | no | Text | `a_business_fax` | FAX geschäftlich | no | 45 |
| `A-Email` | yes | Text | `email` | E-Mail | no | 128 |
| `A-DateOfBirth` | yes | ListBox | `a_dateofbirth_list` | Geburtsdatum | no | |
| `A-PostOfficeBox` | no | Text | `a_postofficebox` | Postfach | no | 45 |
| `A-Suffix1` bis `A-Suffix10` | no | Text | `a_suffix_1` bis `a_suffix_10` | Suffix | no | 45 |
| `A-UserID` | yes | Text | `a_userid` | UserID | no | 45 |
| `A-UserIndex` | yes | Text | `a_userindex` | User Index | no | 45 |

Die Lieferadressfelder sind im Beispielset durchgehend auf `Allow = no` gesetzt. Es gibt sie für dieselben Felder wie oben, von `D-Salutation` bis `D-Suffix10`, jeweils mit dem Feldnamen `d_` statt `a_`. Eine Kundennummer, eine UserID und einen User Index gibt es nur für die Anfrageadresse.

Im Beispielset stehen alle Abschnitte in der Datei, auch die auf `Allow = no`. Das ist bequem zum Ausprobieren, macht die Datei aber über 800 Zeilen lang. Für den Produktivbetrieb genügt es, nur die Abschnitte anzulegen, die Sie wirklich brauchen.

## anfrage.htm

Das Formular. Jedes Feld besteht aus drei Teilen: der Beschriftung aus `_descr`, dem Eingabefeld mit `_name` und `_max`, und einem Fehlerbereich mit `_error`. Letzterer erscheint nur, wenn die Prüfung bei diesem Feld angeschlagen hat.

> [accordion] anfrage.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Anzeige des Formulares</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> </head>
> <body>
> {WS-Include}
> <h1>Template für den Parameter "InquiryPage=" im Abschnitt &lt;Basic&gt;</h1>
> {MSG-Input_error}
> 	<p>~MSG-Notify~ ~MSG-Input_error~</p>
> {/MSG-Input_error}
> <form action="~FORM-SSLTemplate(tpl_anfrage.htm)~" method="POST">
>    ~INQUIRY-Link~
>   <h2>Uns interessiert Folgendes:</h2>
>   <div>
>     <input type="checkbox" id="~C-beratung_name~" name="~C-beratung_name~" value="ja" class="stdInput~C-beratung_error~">
>     <label for="~C-beratung_name~">Eine unverbindliche Beratung über die Möglichkeiten und Chancen für unser Unternehmen im Internet.</label>
>     {C-beratung_error}<p>Bitte treffen Sie eine Auswahl.</p>{/C-beratung_error}
>   </div>
>   <div>
>     <input type="checkbox" id="~C-praesentation_name~" name="~C-praesentation_name~" value="ja" class="stdInput~C-praesentation_error~">
>     <label for="~C-praesentation_name~">Ein Angebot für die Erstellung einer professionellen Firmenpräsentation. Wir gehen von ca.
>       <input type="text" size="3" name="~C-seiten_name~" value="" class="stdInput~C-seiten_error~" maxlength="~C-seiten_max~">
>       Web-Seiten aus.</label>
>     {C-praesentation_error}<p>Bitte treffen Sie eine Auswahl.</p>{/C-praesentation_error}
>     {C-seiten_error}<p>Bitte geben Sie eine Seitenanzahl an.</p>{/C-seiten_error}
>   </div>
>   <h2>Informieren Sie mich</h2>
>   {C-kontaktart_error}
>   <p>Bitte treffen Sie eine Auswahl darüber, wie wir Sie kontaktieren sollen.</p>
>   {/C-kontaktart_error}
>   <div>
>     <input type="radio" id="kontaktart_anruf" name="~C-kontaktart_name~" value="Anruf" class="stdInput~C-kontaktart_error~">
>     <label for="kontaktart_anruf">Bitte vorab Anruf</label>
>   </div>
>   <div>
>     <input type="radio" id="kontaktart_schriftlich" name="~C-kontaktart_name~" value="schriftlich" class="stdInput~C-kontaktart_error~">
>     <label for="kontaktart_schriftlich">Bitte schriftlich</label>
>   </div>
>   <h2>Bitte senden Sie die Antwort an folgende Adresse</h2>
>   <p>Felder, die mit einem Stern "*" gekennzeichnet sind, sind Pflichtangaben.</p>
>   <div>
>     <label for="~A-Company_name~">~A-Company_descr~</label>
>     <input type="text" id="~A-Company_name~" size="30" maxlength="~A-Company_max~" name="~A-Company_name~" value="" class="stdInput~A-Company_error~">
>     {A-Company_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-Company_error}
>   </div>
>   <div>
>     <label for="~A-Salutation_name~">~A-Salutation_descr~ *</label>
>     ~A-Salutation_list~
>     {A-Salutation_error}<p>Bitte überprüfen Sie Ihre Auswahl.</p>{/A-Salutation_error}
>   </div>
>   <div>
>     <label for="~A-Title_name~">~A-Title_descr~ *</label>
>     ~A-Title_list~
>     {A-Title_error}<p>Bitte überprüfen Sie Ihre Auswahl.</p>{/A-Title_error}
>   </div>
>   <div>
>     <label for="~A-LastName_name~">~A-LastName_descr~ *</label>
>     <input type="text" id="~A-LastName_name~" size="30" maxlength="~A-LastName_max~" name="~A-LastName_name~" value="" class="stdInput~A-LastName_error~">
>     {A-LastName_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-LastName_error}
>   </div>
>   <div>
>     <label for="~A-FirstName_name~">~A-FirstName_descr~ *</label>
>     <input type="text" id="~A-FirstName_name~" size="30" maxlength="~A-FirstName_max~" name="~A-FirstName_name~" value="" class="stdInput~A-FirstName_error~">
>     {A-FirstName_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-FirstName_error}
>   </div>
>   <div>
>     <label for="~A-Street1_name~">Straße, Nr. *</label>
>     <input type="text" id="~A-Street1_name~" size="30" maxlength="~A-Street1_max~" name="~A-Street1_name~" value="" class="stdInput~A-Street1_error~">
>     {A-Street1_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-Street1_error}
>   </div>
>   <div>
>     <label for="~A-Zip_name~">~A-Zip_descr~, ~A-City_descr~ *</label>
>     <input type="text" id="~A-Zip_name~" size="5" maxlength="~A-Zip_max~" name="~A-Zip_name~" value="" class="stdInput~A-Zip_error~">
>     <input type="text" id="~A-City_name~" size="24" maxlength="~A-City_max~" name="~A-City_name~" value="" class="stdInput~A-City_error~">
>     {A-Zip_error}<p>Bitte überprüfen Sie Ihre Eingabe im Feld "~A-Zip_descr~".</p>{/A-Zip_error}
>     {A-City_error}<p>Bitte überprüfen Sie Ihre Eingabe im Feld "~A-City_descr~".</p>{/A-City_error}
>   </div>
>   <div>
>     <label for="~A-Country_name~">~A-Country_descr~ *</label>
>     ~A-Country_list~
>     {A-Country_error}<p>Bitte überprüfen Sie Ihre Auswahl.</p>{/A-Country_error}
>   </div>
>   <div>
>     <label for="~A-DateOfBirth_name~">~A-DateOfBirth_descr~</label>
>     ~A-DateOfBirth_list~
>     {A-DateOfBirth_error}<p>Bitte überprüfen Sie Ihre Auswahl.</p>{/A-DateOfBirth_error}
>   </div>
>   <div>
>     <label for="~A-Phone_name~">~A-Phone_descr~ *</label>
>     <input type="text" id="~A-Phone_name~" size="20" maxlength="~A-Phone_max~" name="~A-Phone_name~" value="" class="stdInput~A-Phone_error~">
>     {A-Phone_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-Phone_error}
>   </div>
>   <div>
>     <label for="~A-Fax_name~">~A-Fax_descr~</label>
>     <input type="text" id="~A-Fax_name~" size="20" maxlength="~A-Fax_max~" name="~A-Fax_name~" value="" class="stdInput~A-Fax_error~">
>     {A-Fax_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-Fax_error}
>   </div>
>   <div>
>     <label for="~A-Email_name~">~A-Email_descr~</label>
>     <input type="text" id="~A-Email_name~" size="30" maxlength="~A-Email_max~" name="~A-Email_name~" value="" class="stdInput~A-Email_error~">
>     {A-Email_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/A-Email_error}
>   </div>
>   <div>
>     <input type="checkbox" id="~INQUIRY-SendUserEmail_name~" name="~INQUIRY-SendUserEmail_name~">
>     <label for="~INQUIRY-SendUserEmail_name~">~INQUIRY-SendUserEmail_descr~</label>
>   </div>
>   <div>
>     <h2>Ihre Mitteilung an uns</h2>
>     <textarea id="~C-anmerkungen_name~" name="~C-anmerkungen_name~" rows="4" cols="33" class="stdInput~C-anmerkungen_error~" maxlength="~C-anmerkungen_max~"></textarea>
>     {C-anmerkungen_error}<p>Bitte überprüfen Sie Ihre Eingabe.</p>{/C-anmerkungen_error}
>   </div>
>   <input type="submit" name="absenden" value="Anfrage absenden">
> </form>
> {/WS-Include}
> </body>
> </html>
> ```

`~INQUIRY-Link~` gleich nach dem öffnenden `form`-Element ist nicht wegzulassen. Darüber findet das Modul die Anfrage wieder, wenn das Formular mit Fehlern zurückkommt.

### Die Ergänzung für die Rechenaufgabe

Im Set mit Rechenaufgabe kommt vor der Absendeschaltfläche dieser Block dazu:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<div>
  <label for="~INQUIRY-Captcha_name~">~INQUIRY-Captcha_descr~ *</label>
  ~INQUIRY-Captcha_question~
  <input type="text" id="~INQUIRY-Captcha_name~" name="~INQUIRY-Captcha_name~" value="" class="stdInput~INQUIRY-Captcha_error~">
  {INQUIRY-Captcha_error}<p>~INQUIRY-Captcha_errortext~</p>{/INQUIRY-Captcha_error}
</div>
```

> [!WARNING]
>
> Die Namen dieser Tags habe ich aus dem Aufbau der übrigen Felder abgeleitet, nicht aus dem Modul. Prüfen Sie sie gegen die Dokumentation zu INQUIRY4, bevor Sie den Block übernehmen. Der Rest der Seite ist aus den Vorlagen übernommen.

## anfrage\_antwort.htm

Die Seite nach dem Absenden. Sie deckt zwei Fälle ab: die erfolgreiche Anfrage und den Fall, dass das Formular bereits abgesendet wurde oder zu lange offen stand.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>Vielen Dank für Ihre Anfrage</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
{WS-Include}
   <h1>Template für den Parameter &quot;ConfirmPage=&quot; im Abschnitt &lt;Basic&gt;</h1>

   {!Inquiry-AlreadySent}
      <h2>Vielen Dank für Ihre Anfrage.</h2>
      <h3>~A-Salutation_complete~,</h3>
      <p>wir haben Ihre Anfrage erhalten und werden so bald wie möglich auf Sie zukommen!</p>
      <p>Ihre Firma XYZ</p>
      {PDF-Form}
         <form action="~PDF-Form~" method="post">
            <input type="submit" value="Anfrage als PDF herunterladen" name="~PDF-Button~">
         </form>
      {/PDF-Form}
   {/!Inquiry-AlreadySent}

   {Inquiry-AlreadySent}
      <h2>Wichtiger Hinweis</h2>
      <p>Das Formular wurde bereits abgesendet oder Sie waren zu lange inaktiv.</p>
      <p>Bitte rufen Sie das Formular erneut auf.</p>
      {INQUIRY-NewInquiryLink}<p><a href="~INQUIRY-NewInquiryLink~">Formular erneut aufrufen</a></p>{/INQUIRY-NewInquiryLink}
   {/Inquiry-AlreadySent}

{/WS-Include}
</body>
</html>
```

Der Block mit `{PDF-Form}` steht in beiden Sets. Ohne den Abschnitt `<PDF>` in der Konfiguration ist die Klammerung einfach nicht wahr und der Knopf erscheint nicht. Sie können das Template also unverändert für beide Sets verwenden.

## anfrage\_antwort\_pdf.htm

Nur im PDF-Set. Das Aussehen der Anfrage als PDF.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>PDF-Ansicht der versendeten Anfrage</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
   <h1>Template für den Parameter &quot;Template=&quot; im Abschnitt &lt;PDF&gt;</h1>
   <h2>Vielen Dank für Ihre Anfrage.</h2>
   <h3>~A-Salutation_complete~,</h3>
   <p>wir haben Ihre Anfrage erhalten und werden so bald wie möglich auf Sie zukommen!</p>
   <p>Sie haben folgende Anfrage an uns gerichtet:</p>
   <pre>~AUTOGENERATE-readable_full~</pre>
   <p>Ihre Firma XYZ</p>
</body>
</html>
```

## anfrage\_confirmemail.htm

Die Bestätigung an den Anfragenden.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>E-Mail-Template</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
   <h1>Template für den Parameter &quot;EmailTemplate=&quot; im Abschnitt &lt;ConfirmEmail&gt;</h1>
   <h2>Vielen Dank für Ihr Interesse.</h2>
   <h3>~A-Salutation_complete~,</h3>
   <p>wir führen Ihre Anfrage unter der Referenznummer ~INFO-Reference~ und werden so bald wie möglich auf Sie zukommen!</p>
   <p>Ihre Firma XYZ</p>
</body>
</html>
```

## anfrage\_inquiryemail.htm

Die Benachrichtigung an den Shopbetreiber. Sie zeigt, was die fünf `AUTOGENERATE`-Tags jeweils ausgeben.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>E-Mail-Template</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
   <h1>Template für den Parameter &quot;EmailTemplate=&quot; im Abschnitt &lt;InquiryEmail&gt;</h1>
   <h2>Sie haben eine neue Anfrage</h2>
   <p>Sie haben eine neue Anfrage von
      {A-Salutation_value}~A-Salutation_value~{/A-Salutation_value}
      {A-FirstName_value}~A-FirstName_value~{/A-FirstName_value}
      {A-LastName_value}~A-LastName_value~{/A-LastName_value} erhalten.</p>
   <h3>Daten der Anfrage:</h3>
   <h4>Alle Informationen zu einer Anfrage</h4>
   <pre>~AUTOGENERATE-full~</pre>
   <hr>
   <h4>Der Kopf einer Anfrage</h4>
   <pre>~AUTOGENERATE-header~</pre>
   <hr>
   <h4>Die Adressangaben einer Anfrage</h4>
   <pre>~AUTOGENERATE-addr~</pre>
   <hr>
   <h4>Die allgemeinen Angaben einer Anfrage</h4>
   <pre>~AUTOGENERATE-common~</pre>
   <hr>
   <h4>Alle Angaben in einem Format, das von technischen Systemen gelesen werden kann</h4>
   <pre>~AUTOGENERATE-technical~</pre>
</body>
</html>
```

Dieses Template ist als Schaufenster gebaut: Es gibt alle fünf Varianten hintereinander aus, damit Sie sehen, welche zu Ihnen passt. Für den Produktivbetrieb lassen Sie die übrigen vier weg.

## tpl\_anfrage.htm

Die Shopseite, die das Formular einbindet. Sie enthält sonst nichts außer dem Aufruf.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>Anfrage</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
   <h1>Inhaltstemplate zum Aufruf des Inquiry</h1>
   <h2>Aufruf des gewünschten Inquiry</h2>
   ~WS-ExternInclude($URL-Homepage$/cgi/inquiry4.cgi?inq4=$WS-ShopID$.$WS-SubShopID$&cfg=anfrage.config)~
</body>
</html>
```

Der Parameter `cfg` nennt die Konfigurationsdatei. Mehrere Formulare im selben Shop unterscheiden Sie darüber: eine eigene Konfiguration je Formular, und je eine Shopseite, die sie aufruft.

## Hinweis zu allen Dateien

Alle Vorlagen tragen den HTML-4.01-Doctype und `charset=iso-8859-1`, passend zu `charset = ISO-8859-1` in der Konfiguration. Für einen neuen Shop stellen Sie beides auf UTF-8 um, an beiden Stellen gemeinsam. Stimmen Konfiguration und Template nicht überein, erscheinen Umlaute falsch.


## Related topics

- [Inquiry](https://dokumentation.websale.de/frontend/referenz/aktionen/inquiry.md)
- [Upload-Modul für Formulare mit INQUIRY](https://dokumentation.websale.de/v8s/upload-modul/upload-modul-fuer-formulare-mit-inquiry.md)
- [Formulare für Kundenanfragen](https://dokumentation.websale.de/v8s/formulare-fuer-kundenanfragen/formulare-fuer-kundenanfragen.md)
- [Google reCAPTCHA erst nach Einwilligung laden](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-recaptcha-mit-einwilligung.md)
- [Verwendung mit WEBSALE E-Commerce](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/verwendung-im-shop.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.