Joomla! erweitern/Komponenten/3rd Party/BreezingForms/eigene Danke-Seite erstellen

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

FacileForms/BreezingForms: eigene Dankeseite erstellen

Im Auslieferungszustand der Komponente wird als Danke-Meldung nur eine Javascript-Alertbox ausgegeben. Das ist in vielen Fällen nicht ausreichend und insgesamt wenig stylish. Daher steht man schnell vor dem Problem eine eigene Dankeseite zu integrieren.

Dieses Tutorial soll zeigen wie das geht.

Vorbereitungen Dieses Tutorial basiert auf BreezingForms 1.5.1 mit aktiviertem FFOLD-Package. Dazu installiert man die Component-Extension BreezingForms.1.51.

Beispiel-Formular erstellen Wir nutzen ein einfaches Kontaktformular für dieses Tutorial. Dazu legt man unter "Formulare verwalten" ein neues Formular an. Als Paket kann man z.B. form1 verwenden. Der Name ist frei wählbar und ist hier nicht wichtig. Nun werden folgende Elemente erzeugt:

  • Statische -> Statischer Text/HTML
   Titel : Label Name
   Name  : Label_Name
   Text  : Name
  • Eingabe -> Text
   Titel : Name
   Name  : Name
  • Statische -> Statischer Text/HTML
   Titel : Label Nachricht
   Name  : Label_Nachricht
   Text  : Nachricht
  • Eingabe -> Textbereich
   Titel : Nachricht
   Name  : Nachricht
  • Knöpfe -> normaler Knopf
   Titel : Button Senden
   Name  : Button_Senden
   Text  : senden


FF BF eigeneDankeseite-1.png

Jetzt fügen wir eine 2 Formularseite hinzu. Im Preview-Bereich gibt es den Link "Neue Seite danach". Da klicken wir drauf und landen auf der nun neu erzeugten 2. Formularseite. Diese soll unseren Danketext aufnehmen. Es werden folgende Elemente erzeugt:

  • Statische -> Statischer Text/HTML
   Titel : Danke
   Name  : Danke
Text  :

Danke für Ihre nfrage.

Das Positionieren der einzelnen Formularteile überspringe ich an dieser Stelle. Am Ende haben wir also ein Formular mit 2 Eingabefeldern und einem Sende-Button.

Aktion dem Sende-Button zuweisen Der Button ist jedoch noch ohne Funktion und wir müssen ihm eine Aktion zuweisen. Dazu klickt man auf den Button in der Editansicht des Formulars. In der Edit-Ansicht des Button ist ein Reiter "Scripts" ersichtlich, auf den man drauf klickt. Nun kann man bestimmen was passiert, wenn man auf den Button klickt. Wir nutzen hier aus der "Bibliothek" die Funktion "ff_validate_submit" aus und speichern.
FF BF eigeneDankeseite-2.png

Aktion beim Absenden zuweisen Damit wird unser Formular versendet und es greift das Standard-Script, welches nach(!) dem Versenden des Formulars(!) ausgeführt wird. Als Ergebnis erscheint die oben beschriebene Alerbox.

Das wollen wir aber ändern und gehen zu "formulare verwalten" und klicken auf den Name(!) des Formulars. Dort wählen wir den Reiter Scripts an. Wir wählen hier im Abschnitt "Übermittelt-Script" die Option "Spezial" an und klicken dort auf "Rahmencode erzeugen" und bestätigen die Infobox mit OK.
FF BF eigeneDankeseite-3.png

Nun sehen wir den (Javascript-)Code, der ausgeführt werden würde, wenn man auf den Button klickt. Um nun das Formular zu versenden und auf die 2.Seite zu springen muss das Script wie folgt ergänzt werden:

 function ff_form1_submitted(status, message)
 {
     switch (status) {
         case FF_STATUS_OK:
            // do whatever desired on success
            ff_switchpage(2);
            break;
         case FF_STATUS_UNPUBLISHED:
         case FF_STATUS_SAVERECORD_FAILED:
         case FF_STATUS_SAVESUBRECORD_FAILED:
         case FF_STATUS_UPLOAD_FAILED:
         case FF_STATUS_ATTACHMENT_FAILED:
         case FF_STATUS_SENDMAIL_FAILED:
         default:
            alert(message);
     } // switch
 } // ff_form1_submitted


FF BF eigeneDankeseite-4.png

Nach dem Speichern haben wir unser Ziel schon erreicht. Das Formular wird ausgeführt und nach dem Senden leitet die Funktion ff_switchpage(2); den Besucher auf die 2. Seite - also unsere Danke-Seite.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge