Veröffentlichungsdatum: 27. April 2012
Änderungsdatum: 04. April 2019
formular auswahl select kategorien land länder initialwert
Innerhalb eines Formulares können Sie über eine Kategorienauswahl eine Länderauswahl anbieten und einen Wert schon vorausgewählt setzen.
Im Kontaktformular Ihrer Präsenz können Sie zur Adresse auch die Angabe des Landes abfragen.
Nutzen Sie hierzu das Formular-Element "Auswahlfeld (select, dropdown) und wählen Sie über das Feld "Auswählbare Kategorien" die mit der BASE Classic standardmässig mitgelieferte (bei BASE (Mobile First) als Weblic nachinstalllierbare) Länder-Kategoriendatei aus (z.B.: /[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/countries.wCategories.php).
Um nun den Seitenbesuchern schon das Land zur Vorauswahl anzubieten, aus dem die meisten Besucher kommen (z.B. Deutschland), setzen Sie im Feld "Vorausgewählter Wert" den Wert des entsprechenden Landes aus der Kategoriendatei (für Deutschland z.B. DE).
Im Formular bekommt der Seitenbesucher die Auswahlbox mit diesem vorausgewählten Wert angezeigt. Besucher aus Deutschland können sich somit die Auswahl des Landes sparen.
Wollen Sie der zu versendenden E-Mail anstatt des Länderkürzels (z.B. DE) den Kategorien-Titel (Kategorien Text) mitgeben, definieren Sie dies nach dem Absenden z.B. wie folgt ($mailData["country"]):
if(wRequest::getParameter("wFormAction") == "reset"){
$this->reset();
wResponse::redirect($this->url);
}
$this->setFormData(wRequest::getParameters());
if($this->validate()){
$mailData = $this->getFormData();
$mailData["wFormData"] = $this->getMailDataStr();
if($this->getVar("to") != ""){
$mailData["to"] = $this->getVar("to");
}
else{
$mailData["to"] = wVariables::getValue('email_default', '/[IHR-LAYOUT-PROJEKT]');
}
// Länderbezeichnung zum gewählten Länderkürzel an E-Mail übergeben:
$country = $mailData["country"];
$mailData["country"] = wDocumentData::getData("/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/countries.wCategories.php", "//categories/category[@text = '".$country."']/@title_de");
//Mail-Daten zusätzlich in eine Datei schreiben
...
...
wMailer::sendMailStr($this->getVar("mailStr"), $mailData, null, $attach);
if($this->getVar("mailStrCustomer") != ""){
wMailer::sendMailStr($this->getVar("mailStrCustomer"), $mailData);
}
//Hier können Sie weitere Funktionen einfügen
...
Achten Sie darauf, das aktuellste Formular-Editor Weblic® im Einsatz zu haben (siehe weblics.de Link unten)!