Anpassung Kontaktformular (Contact)

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

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

    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/contact muss 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.

    Collaborate with us and edit this page