Formular erweitern

Sie sind hier: Startseite

Pro Web-Formular erweitern

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”

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.

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.

© siquando-designs.de by KARO Webdesign & Entwicklung

Direkt-Navigation öffnen oder schließen

Wir (KARO Webdesign & Entwicklung) verwenden Cookies um unsere Website zu optimieren und Ihnen das bestmögliche Online-Erlebnis zu bieten. Mit dem Klick auf „Alle erlauben“ erklären Sie sich damit einverstanden. Weiterführende Informationen und die Möglichkeit, einzelne Cookies zuzulassen oder sie zu deaktivieren, erhalten Sie in unserer Datenschutzerklärung. | Impressum

Einstellungen