Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Kontaktformular

...

Inhalt

ACHTUNG!

Wechseln zu: Navigation, Suche

Lieber WIKI Autor, derzeit wird der MediaWiki auf ein neues Format umgestellt.
Diese Seite wurde bereits in das neue Format übernommen. Alle Änderungen die hier durchgeführt werden, können nicht mehr berücksichtigt werden. Vielen Dank für Dein Verständnis!

Inhaltsverzeichnis

 [Verbergen

Der Arbeitskreis Internet

ACHTUNG!

Das Formmail.pl ist für immer abgeschaltet worden! Bei HTML/PHP-Webseiten bitte auf die hier auf der Seite beschriebene PHP Variante umsteigen!

Für einfache Kontaktformulare in TV (mit SPAM-Schutz) steht die Erweiterung (Plugin) DLRG-Kontaktformular (TV) zur Verfügung stehen. Komplexere Formulare können, wie in TYPO3 auch, mit der Formular-Funktion von TYPO3 der TYPO3-Formular Funktion  realisiert werden.

Die DLRG bietet ein PHP-basiertes Kontaktformular, welches in ähnlicher Form auch den Gliederungen mit TYPO3-TV zur Verfügung steht.

...

Die Session ("session"=>true) im Kopfbereich definieren:

Codeblock
languagephp
/* Dokument Konfiguration */
$_DLRG_DOC = array (
"id"=>"03",
"titel"=>"Kontakt",
"keyword"=>"Kontakt,Mail,Fragen",
"description"=>"Email an uns",
"session"=>true
)+$_DLRG_DOC;

...

Auf der Seite, welche das Kontaktformular enthalten soll, wird der folgende Schnipsel eingefügt:

Codeblock
languagephp
<!-- Beginn Seiteninhalt -->
<?php
 $_DLRG_CONF["k_zieladressen"] = array( 
   "wm" => array("bez" => "Webmaster", "mail" => "webmaster@gld.dlrg.de"), 
   "tl" => array("bez" => "Technische Leitung", "mail" => "tl@gld.dlrg.de"), 
   "vs" => array("bez" => "Vorstand", "mail" => "vs@gld.dlrg.de"),
);

dlrgModul("contact");
?>
<!-- Ende Seiteninhalt -->

...

Mit dem oberen Teil stellt man ein, welche Einträge in der Empfänger-ComboBox stehen sollen. Die zweistelligen Werte tl, vs und wm stellen dabei nur technische IDs dar, damit die E-Mail-Adresse nicht im Formular stehen muss (Verhinderung von E-Mail-SPAM). Diese IDs können auch fast beliebig verändert werden (bitte keine Umlaute oder ähnliches (äöüß...)). Kriterien: möglichst kurz und auf jeden Fall eindeutig!

Hinweis: Beim Verändern der obigen Zeilen ist strikt darauf zu achten, dass alle Hochkommata, Kommas, Klammern usw. vorhanden sind, jeweils an den Stellen wie oben! Fehlt irgendwo eines dieser Zeichen (oder ist eines zuviel), kann das Skript nicht funktionieren! Hinweise zur Fehlerusche findet man hier: Error reporting (PHP)

PHTML-Variante

Nach der Anleitung zur PHP-Variante vorgehen, jedoch folgendes zusätzlich vor dem require_once einfügen: $_DLRG_SYS["call"] = "kontakt.phtml"; wobei "kontakt.phtml" für den Dateinamen der Seite steht, welche das Kontaktformular enthalten soll.

...

Die Beschreibung des Formulars für TYPO3-TV ist hier zu finden: TYPO3-DLRG - Kontaktformular (TV)

Weitere Konfigurationsmöglichkeiten

Weiterhin kann man noch folgende Schalter setzen (einfach vor dem require_once einfügen):

Codeblock
languagephp
// Anfang der Betreffzeile verändern: 
$_DLRG_CONF["k_suffix"] = "DLRG OG Musterhausen";
// Legendentext verändern: 
$_DLRG_CONF["k_legend"] = "Kontaktaufnahme:";
// Bestätigungstext: 
$_DLRG_CONF["k_best_text"] = "Vielen Dank für Ihr Interesse...";
// CAPTCHA an/aus
$_DLRG_CONF["captcha"] = true/false;
// Die folgenden Einträge sind wichtig, wenn
// das Formular in schmaleren Spalten (column) als 70% eingesetzt wird
// Default CSS-Style von Labels
$_DLRG_CONF["def_label_style"] = 'width:7.3em';
// Default Länge von Eingabefeldern
$_DLRG_CONF["def_tf_size"] = 44;

...

Damit das CAPTCHA funktioniert muss die Session aktiv sein.

Experten können noch weitere Felder definieren:

Codeblock
languagephp
$_DLRG_CONF["k_zusatzfelder"] = array(
  'gld' => array("text" => "Gliederung", "size" => "44", "pf" => false),
);

...

Es gibt noch weitere Parameter außer text, size und pf:

...

Beispiele für Auswahlfelder:

Codeblock
languagephp
// Eine ComboBox (2. Zeile ausgewählt)
'cmb' => array("text" => "MyCombo", "type" => "select", "options" => 
            array('w1' => "Wert1", 'w2' => "Wert2"), 
               "value" => "w2"),
// Eine Listbox mit Mehrfachauswahl (2. und 3. Zeile ausgewählt)
'lst' => array("text" => "MyListBox", "type" => "select", "size" => "4", "options" => 
            array('w1' => "Wert1", 'w2' => "Wert2", 'w3' => "Wert3", 'w4' => "Wert4"), 
               "value" => "w2, w4"),
// RadioButtons (2. Knopf markiert)
'rdo' => array("text" => "MyRadio", "type" => "radio", "options" => 
            array('w1' => "Wert1", 'w2' => "Wert2"), 
               "value" => "w2"),
// Checkboxes (1. und 3. Box angekreuzt)
'chk' => array("text" => "MyCheckboxes", "type" => "checkbox", "options" => 
            array('w1' => "Wert1", 'w2' => "Wert2", 'w3' => "Wert3"), 
               "value" => "w1, w2"),
// Ein Bestätigungsfeld, das angeklickt werden MUSS!
'best' => array("text" => "Bestätigung", "type" => "checkbox", 
             "options" => array ("ja" => "Hiermit bestätige ich, dass 
                                          ich alles gut durchgelesen habe!"), 
             "regexp" => "ja", 
             "err_msg" => "Bitte bestätigen Sie durch Ankreuzen des 
                           

...

Feldes %1, dass Sie die Bedingungen anerkennen!"),  

...

Weiterhin kann man noch das Verhalten der beiden Eingabefelder "Betreff" und "Nachricht" (teilweise auch "Name") ändern/überschreiben:

Codeblock
languagephp
$_DLRG_CONF["k_zusatzfelder"] = array(
// Versteckt das Feld "Betreff" komplett
  'subject' => array("text" => "Ha! Versteckt", "type" => "hidden", 
              "value" => "fester Wert"),  
  // Das Feld Nachricht heißt nun Bemerkungen und ist kein Pflichtfeld mehr
  'text' => array("text" => "Bemerkung", "pf" => false),
  // Das Feld Name zum Pflichtfeld machen);
  'name' => array("pf" => true)
);

...