Formular mit Länderauswahl und vorausgewähltem Land

27. Apr 2012

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 standardmässig mitgelieferte Länder-Kategoriendatei  aus (z.B.: /baseGlobal/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).

Formularwert vorauswählen (Land)zoom
Formularwert vorauswählen (Land)

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.

Formular mit vorausgewähltem Landzoom
Formular mit vorausgewähltem Land

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"]):

Beispiel: Auszug aus "Nach dem Absenden auszuführendes Skript"

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''/baseGlobal');
  }

  
// Länderbezeichnung zum gewählten Länderkürzel an E-Mail übergeben:
  
$country $mailData["country"];
  
$mailData["country"] = wDocumentData::getData("/baseGlobal/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"), $mailDatanull$attach);

  if(
$this->getVar("mailStrCustomer") != ""){
    
wMailer::sendMailStr($this->getVar("mailStrCustomer"), $mailData);
  }


  
//Hier können Sie weitere Funktionen einfügen
...

Ähnliche Seiten

Entwicklerbereich Weblication® CMS - © Scholl Communications AG