Formular mit Länderauswahl
Veröffentlichungsdatum: 16. Juli 2012
Änderungsdatum: 20. April 2020
formular auswahlfeld land länder country countries
Ein Formular mit Auswahl des Landes und Übergabe des Ländernamens in der jeweilgen Sprache können Sie mit Bordmitteln umsetzen.
Soll von Seitenbesuchern bei einer Kontaktanfrage auch das Land erfragt werden, in dem diese wohnhaft sind, bietet Ihnen Weblication® CMS schon standardmässig eine Lösung hierfür. Das nachfolgende Beispiel geht von der aktuellen CMS-Version und aktueller BASE bzw. dem aktuellen Weblic® "Kontaktformular / Formular-Editor" aus.
Fügen Sie in Ihr Formular über den Formulareditor das Element "Auswahlfeld (select, dropdown)" ein.
Den Feldnamen passen Sie wegen eindeutiger Benennung z.B. auf "country" an.
Sie können nun entweder die Auswahlmöglichkeiten im gleichnamigen Feld direkt angeben oder - wie hier beschrieben - über die auswählbaren Kategorien die Kategoriendatei der Länder "countries.wCategories.php" aus dem globalen Projekt auswählen. Sofern bei Aufruf des Formulares schon ein Wert vorausgewählt sein soll, tragen Sie den Wert aus dem text-Attribut der Kategoriendatei in das Feld "vorausgewählter Wert" ein. Die Sortierung wählen Sie wie gewünscht.
Sie verfügen nun über ein Kontaktformular mit einer Auswahlbox für das Land des Seitenbesuchers.
Optional Wert der Länderkategorie in der E-Mail beeinflussen
Das Land wird Ihnen in der generierten E-Mail standardmässig aus dem Wert des text-Attributes ausgelesen (im Beispiel für Deutschland also "DE").
Wollen Sie anstatt des Länderkürzels aber die Sprachkennzeichnung des jeweiligen Sprachprojektes setzen, können Sie dies über die erweiterten Formulareinstellungen in der Box "Nach dem Absenden auszuführendes Script" beeinflussen.
Zur Kategoriendatei lesen Sie die Sprachkennzeichnung (z.B. title_de Attribut des category-Knotens zum entsprechenden Land) über das PHP-Framework aus:
... <!-- Auszug aus der Box "Nach dem Absenden auszuführendes Script" -->
$fileGetDataCategory = "/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/countries.wCategories.php";
$mailData["country"] = wDocumentData::getData($fileGetDataCategory, "/categories/category[@text='".$mailData["country"]."']/@title_de");
...
wMailer::sendMailStr($this->getVar("mailStr"), $mailData, null, $attach);
...- Wie kann ich in Weblication® CMS ein Formular mit Länderauswahl erstellen?
- Füge im **Formulareditor** das Element **„Auswahlfeld (select, dropdown)“** hinzu. Konfiguriere das Feld so, dass es dem Seitenbesucher eine Auswahl des Wohnsitzlandes ermöglicht und der Ländername im Formular bzw. in der Auswertung verwendet wird.
- Wie sollte ich den Feldnamen für die Länderauswahl vergeben?
- Vergib einen eindeutigen Feldnamen, z. B. **„country“** (im Beispiel: **„country*“**). Dadurch kann das Land später eindeutig ausgelesen und verarbeitet werden.
- Woher kann ich die Länderauswahl für das Formular beziehen?
- Du kannst die Auswahlmöglichkeiten **direkt im Auswahlfeld** eintragen oder die **Kategorien** verwenden. Dazu wählst du über die auswählbaren Kategorien die Länder-Kategoriendatei **„countries.wCategories.php“** aus dem globalen Projekt.
- Wie kann ich einen vorausgewählten Wert für das Land im Formular setzen?
- Wenn bei Aufruf des Formulars bereits ein Land voreingestellt sein soll, trage im Feld **„vorausgewählter Wert“** den Wert aus dem **„text“-Attribut** der Kategoriendatei **„countries.wCategories.php“** ein. Beispiel: Wenn das Land Deutschland als „DE“ hinterlegt ist, dann ist der vorausgewählte Wert entsprechend **„DE“**.
- Wie beeinflusst die Länderauswahl die generierte E-Mail im Standardfall?
- Im Standard wird das **Land** in der generierten E-Mail aus dem **„text“-Attribut** der Ländernkategorie ausgelesen. Im Beispiel für Deutschland entspricht das dem Kürzel **„DE“**.
- Kann ich statt des Länderkürzels die Sprachkennzeichnung des jeweiligen Sprachprojektes in der E-Mail setzen?
- Ja. Über die **„erweiterten Formulareinstellungen“** in der Box **„Nach dem Absenden auszuführendes Script“** kannst du den Wert so beeinflussen, dass die **Sprachkennzeichnung** (z. B. **title_de**) des jeweiligen Sprachprojekts verwendet wird. Im Beispiel wird hierzu aus der Länder-Kategoriendatei das passende Attribut gelesen und in **$mailData["country"]** gesetzt.
- Welche Datei enthält die Länder-Kategorien für die Auswahl?
- Die Länder-Kategorien werden über die Kategoriendatei **„countries.wCategories.php“** bereitgestellt (aus dem globalen Projekt). Diese kann im Formular über die Auswahl der Kategorien genutzt werden.
- Wie kann ich den Länderwert nach dem Absenden per Script in der E-Mail anpassen?
- Nutze in den erweiterten Formulareinstellungen die Box **„Nach dem Absenden auszuführendes Script“**. Dort kann z. B. mithilfe des PHP-Frameworks die Länder-Kategoriendatei geladen und aus dem passenden Knoten das gewünschte Sprachattribut (z. B. **title_de**) ausgelesen werden. Danach wird der Wert für **$mailData["country"]** gesetzt und die E-Mail versendet.