Hauptseite > Kontaktformular

Mit dem Plugin Contact lässt sich ein einfaches Kontaktformular einrichten.

Standardmässig enthält das Formular die folgenden Felder:

  • Name
  • E-Mail-Adresse
  • Mitteillung

Zusätzlich Felder

Zusätzliche Felder können wie folgt eingerichtet werden:

1) Definition einer Variablen

In der Datei plugin.php im Verzeichnis /bl-plugins/contactmuss das neue Feld als Variable definiert werden.

Um das Formular beispielsweise mit einem Feld für die Adresse zu erweitern muss definiert werden:

$address = isset($_POST['address']) ? $_POST['address'] : ''

Der Code für die Variablen kann also so erweitert werden (ab Zeile 105):

# $_POST
$name           = isset($_POST['name']) ? $_POST['name'] : '';
$address     = isset($_POST['address']) ? $_POST['address'] : '';
$email          = isset($_POST['email']) ? $_POST['email'] : '';
$message        = isset($_POST['message']) ? $_POST['message'] : '';
$interested     = isset($_POST['interested']) ? $_POST['interested'] : '';
$contentType = 'text'; // Type de mail (text/html)

2) Erweiterung des Formulars

Die Datei contact.php im Verzeichnis /bl-plugins/contact/layout muss mit dem HTML-Code für das neue Feld erweitert werden.

Ein Adress-Feld kann beispielsweise definiert so werden:

<input id="address" type="text" name="address" value="<?php echo sanitize::html($address); ?>" placeholder="<?php echo $Language->get('Address'); ?>" class="pure-input-1-2">

Das Formular würde dann so aussehen:

<form method="post" action="<?php echo $Site->url(). $Page->slug(); ?>" class="contact pure-form">
        <fieldset class="pure-group">
            <input type="hidden" name="token" value="<?php echo $Security->printTokenCSRF(); ?>">
            <input id="name" type="text" name="name" value="<?php echo sanitize::html($name); ?>" placeholder="<?php echo $Language->get('Name'); ?>" class="pure-input-1-2">
            <input id="address" type="text" name="address" value="<?php echo sanitize::html($address); ?>" placeholder="<?php echo $Language->get('Address'); ?>" class="pure-input-1-2">
            <input id="email" type="email" name="email" value="<?php echo sanitize::email($email); ?>" placeholder="<?php echo $Language->get('Email'); ?>" class="pure-input-1-2">
            <textarea id="message" rows="6" name="message" placeholder="<?php echo $Language->get('Message'); ?>" class="pure-input-1-2"><?php echo sanitize::html($message); ?></textarea>
        </fieldset>
        <button id="submit" name="submit" type="submit" class="pure-button pure-button-primary"><?php echo $Language->get('Send'); ?></button>
</form>

3) Anpassung der Sprachdatei

Der Platzhalter für den Wert, kann wie oben beschrieben als placeholder="<?php echo $Language->get('Address'); ?>" definiert werden. Es könnte aber auch placeholder="Adresse" verwendet werden.

Wenn die erste Version gewählt wird, muss die Sprachdatei angepasst werden. Dazu muss die gewählte deutschsprachige Datei de_CH.json oder de_DE.json mit folgendem Eintrag ergänzt werden:

"address": "Adresse",

Achtung: Wenn der Eintrag am Schluss hinzugefügt wird, muss das Komma weggelassen werden, dafür die vorhangehende Zeile mit einem Komma ergänzt.