Pro Web-Formular erweitern

Nachrichtenkopf des Besuchers

Als Absender des Kontaktformulars würden Sie sich wünschen, dass Sie eine kurze Bestätigungsmail erhalten und auch später nachvollziehen können was Sie geschrieben haben? Eine einfache Bestätigung, dass Ihre Nachricht versendet wurde ist gut, aber eine Bestätigungsmail mit dem Inhalt Ihrer Nachricht ist besser.

In dieser Anleitung möchten wir Ihnen erklären, wie Sie das Siquando Pro Web Kontaktformular eine automatische Nachricht an den Versender der Nachricht (Auto-Reply) erweitern können.

Wir haben diese Seite überarbeitet, da mit Version 1580 folgende Änderungen durch Siquando vorgenommen wurden:

  • Feedback-Formulare enthalten nun den korrekten Absendernamen.
  • E-Mail-Adressen in Feedback-Formularen können im Mail-Programm (sofern unterstützt) direkt angeklickt werden, um eine Antwortmail zu erstellen.
  • Eine neue Funktion des Plug-Ins „Formular" erlaubt es, Eingaben in E-Mail-Adressfelder als Antwort-E-Mail-Adresse zu nutzen.

Unsere originale Anleitung für Pro Web Installationen vor v1580 finden Sie unter Formular erweitern (vor Version 1580) .

Hinzufügen der Datei „mail_sender.tpl”

Um die erforderliche Dateien herunterzuladen zu können melden Sie sich bitte hier an. Sind sie angemeldet finden Sie im nächsten Absatz einen Link zum Download.

Sollten Sie noch nicht registriert sein klicken Sie bitte auf Registrieren .

Nachdem Sie die Datei heruntergeladen haben entpacken Sie bitte das zip-Archiv und kopieren die Datei „mail_sender.tpl” in das Verzeichnis /classes/plugins/ngpluginparagraph/ngpluginparagraphform/tpl/ auf Ihrem Server.

Anpassung der Datei ngpluginparagraphform.php

Im nächsten Schritt passen wir die Datei /classes/plugins/ngpluginparagraph/ngpluginparagraphform/ngpluginparagraphform.php an.

Öffnen Sie bitte diese Datei und suchen in Zeile 16 nach public $from = ''; und fügen in einer neuen Zeile darunter public $replyTo = ''; ein.

Danach suchen wir (ab Zeile 235) nach

  if ($this->send) {
$this->template->assign ( 'items', $result );
$this->template->assign ( 'lang', $this->lang->languageResources );
$this->template->assign ( 'preamble', str_ireplace ( '[d]', $date, $this->lang->languageResources ['preamble']->value ) );
$mail = $this->template->fetchPluginTemplate ( 'ngpluginparagraph/ngpluginparagraphform/tpl/mail.tpl' );

$sendMail = new NGMail ();
$sendMail->sendTo = $this->sendto;
$sendMail->fromMail = $this->from;
$sendMail->fromName = $this->fromName;

und ersetzen diese komplette Passage durch

  if ($this->send) {
$this->template->assign ( 'items', $result );
$this->template->assign ( 'lang', $this->lang->languageResources );
$this->template->assign ( 'preamble', str_ireplace ( '[d]', $date, $this->lang->languageResources ['preamble']->value ) );
$this->template->assign ( 'preamble_sender', str_ireplace ( '[d]', $date, $this->lang->languageResources ['preamble_sender']->value ) );
$mail = $this->template->fetchPluginTemplate ( 'ngpluginparagraph/ngpluginparagraphform/tpl/mail.tpl' );
$mail_sender = $this->template->fetchPluginTemplate ( 'ngpluginparagraph/ngpluginparagraphform/tpl/mail_sender.tpl' );

$sendMail = new NGMail ();
$sendMail->sendTo = $this->sendto;
$sendMail->fromMail = $this->from;
$sendMail->fromName = $this->fromName;

if ( $this->replyTo !== '' ) {
$senderMail = new NGMail ();
$senderMail->sendTo = $this->replyTo;
$senderMail->fromMail = $this->from;
$senderMail->fromName = $this->fromName;
$senderMail->replyTo = $this->sendto;
$senderMail->subject = $this->subject;
$senderMail->html = $mail_sender;
}


In Zeile 305 und 306 müssten wir

      if ($this->send)
         $sendMail->send ();

finden und beide Zielen ersetzen wir durch

      if ($this->send) {
         $sendMail->send ();
         if ($this->replyTo !== '')
            $senderMail->send ();
      }


Haben wir diesen Punkt abgeschlossen suchen wir nach

                  case 'Email' :
                     if (array_key_exists ( $fieldId, $_POST )) {
                        $formField->default = $_POST [$fieldId];
                     }

und ersetzen diesen Teil der Datei durch

                  case 'Email' :
                     if (array_key_exists ( $fieldId, $_POST )) {
                        $formField->default = $_POST [$fieldId];
                        if ( $this->replyTo == '') $this->replyTo = $formField->default;
                     }


Mit der Bearbeitung der Datei /classes/plugins/ngpluginparagraph/ngpluginparagraphform/ngpluginparagraphform.php haben wir nun abgeschlossen und damit wir diese Arbeit nicht umsonst gemacht haben, spiechern wir die Datei natürlich.

Hinzufügen einer weiteren Sprachvariablen

Damit wir auch pro Formularabsatz einen eigenen Nachrichtenkopf für den Besucher angeben können müssen wir noch die XML-Datei langform.xml im Ordner /classes/plugins/ngpluginparagraph/ngpluginparagraphform/language/ anpassen. Suchen Sie in dieser Datei deshalb nach

   <languageresource uid="preamble">
      <caption>Nachrichtenkopf</caption>
      <default>Ein Besucher Ihrer Site hat am [d] ein Formular ausgefüllt:</default>
      <description>Einleitungstext der E-Mail, die an Sie gesendet wird. Verwenden Sie [d] als Platzhalter für die Sende-Uhrzeit.</description>
   </languageresource>

und fügen bitte in einer neuen Zeile darunter Folgendes ein:

   <languageresource uid="preamble_sender">
      <caption>Nachrichtenkopf für Besucher</caption>
      <default>Vielen Dank für die folgende Nachricht am [d]. Wir bemühen uns Ihnen schnellstmöglich zu antworten.</default>
      <description>Einleitungstext der E-Mail, die an den Besucher versendet wird. Verwenden Sie [d] als Platzhalter für die Sende-Uhrzeit.</description>
   </languageresource>


Feedback

Sie haben Fragen, Anregungen oder eine Kritik? Dann nutzen Sie unsere Kommentar-Funktion. Damit wir weiter solche Anleitungen schreiben können würden wir uns natürlich auch über eine kleine PayPal-Spende freuen.