Online-Petition mit Contao, 1. Teil

Auf einer aktuellen Webseite sollte eine Online-Petition eingebunden werden.

Da dieser Wunsch schon vor Erstellung der Webseite bekannt war, bestimmte er auch die Auswahl des CMS. Ich entschied mich für Contao, weil mir schien, das man mit dem Formulargenerator, der Erweiterung EFG und den Möglichkeiten der Inserttags etwas basteln könne. Und ich wurde nicht enttäuscht.

Im Raum stand zunächst auch die Einbindung einer der fertigen Online-Petitionen wie der sehr interessanten OpenPetition, das kam aber aus verschiedenen Gründen für diesen Fall nicht in Frage. Eine brauchbare, aktuelle, einfache und kostenlose Erweiterung für Contao oder auch Joomla habe ich nicht gefunden (für Joomla gab es mal eine einfache Petition - FoxPetition, die bisher leider nicht weiterentwickelt worden ist).

Die Anforderungen: einfaches Formular zum Eintragen in die Liste der Unterstützer, Aktivierung erst nach Emailbestätigung, Lister der Unterstützer im Frontend, Zähler.

Ein entsprechendes Formular zu basteln war natürlich kein Problem, komfortabler und mit „handgemachter“ Bestätigungsemail geht es mit der Erweiterung EFG. Allerdings funktionierte diese nicht problemlos in der neuesten Contao-Version (3.3.5), es gab Fehlermeldungen und ab und zu „weiße Seiten“. Dann kam mir die Idee, einfach das hauseigene Contao-Registrierungsformular zu nutzen und anzupassen. Damit war auch das Problem der Aktivierung durch die Unterstützer gelöst. Man stellt im Regstrierungsmodul ein, dass das Mitglied erst nach dem Bestätigen des Links in der Aktivierungsemail aktiviert wird („Aktivierungsmail verschicken“). Diesen Emailtext kann man dann entsprechend anpassen, ebenso die beiden Seiten, auf die der Unterstützer nach Abschicken des Formulars bzw. nach der Aktivierung geschickt werden soll.

Folgende Formularfelder habe ich ausgewählt: Nachname, Vorname, Ort, Emailadresse. Automatisch werden der Spamschutz (falls man den nicht deaktiviert) und der Absendebutton eingefügt.

Noch ein Vorteil: Man hat alle Unterstützer als Mitglieder in der Mitgliederliste. Diese kann man mit der Erweiterung xtmembers_outlook dann in einer Exceldatei speichern und so sichern (aber immer den Datenschutz beachten!!!). Wer möchte, kann das im Core etwas beschränkte Formular noch mit anderen Feldern erweitern (xtmembers, xtmembers_fieldeditor).

Nicht besonders passend ist, dass der Absendebutton mit „Registrieren“ beschriftet ist. Das kann man durch das Ändern der entsprechenden Übersetzung beheben. Einfach in die langconfig.php (Pfad system/config/) folgenden code schreiben:
// Button "Registrieren" aendern
$GLOBALS['TL_LANG']['MSC']['register'] = 'Unterzeichnen';
Das ändert den Register-Button generell, nur für Deutsch dann entsprechend anpassen. Und ist updatesicher.
Damit hat man schon die eigentliche Online-Petition, das Formular zum Unterschreiben.

Im zweiten Teil: Wie bringe ich die aktuelle die Liste der Unterstützer sowie den Zähler auf die Seite? Welche Module und Erweiterungen benötige ich noch?
Und: Klappt auch alles?

In letzter Zeit gibt es viele Spam-Kommentare, deswegen habe ich die Kommentarfunktion erst einmal abgeschaltet.

Einen Kommentar schreiben

Kommentar von Thomas |

Hallo, guter Tipp, genau das habe ich gerade gesucht. Beste Grüße, Thomas

Kommentar von Kristina |

Sehr genialer Tipp. Das brauchte ich! Vielen lieben Dank!

Kommentar von Alex |

DANKE! Ich hab auch eben danach gesucht und es klappt bestens.

Kommentar von Emanuel P. |

Bin gespannt, Backend ist leicht aber Frontend sind viele am Grübeln wegen des 401 Fehlers und es existiert leider keine gute Anleitung wi man 2FA fürs Frontend richtig konfiguriert (speziell Template Anpassung und security.yml)

Antwort von Anika Strobach

Danke für den Kommentar. Ich hoffe, ich habe bald die Zeit dazu!

Kommentar von Gerhard Hirt |

Guten Tag
Was kann ich tun, wenn z.B. bei der 7. Pos. die Meldung Zeitüberschreitung kommt?
Was ist der vermutliche Grund für diese Zeitüberschreitung.

Danke für eine kurze Antwort
Gerhard

Antwort von Anika Strobach

Vielen Dank für den Kommentar.

Die Zeitüberschreitung liegt normalerweise daran, dass die Internetverbindung zu langsam oder gestört ist, entweder bei Ihnen selber oder bei dem Server, auf dem Ihre Webseite liegt. Oft klappt es zu einem anderen Zeitpunkt.

Mehr kann ich leider aus der Ferne und mit den wenigen Infos nicht sagen.

Kommentar von Karsten |

Hallo,
ich habe das plugin installiert und aktiviert.
In einem Beitrag per code -> php-> pass = XXXX eingetragen
Es erfolgt keine Abfrage!
Codeschnipsel als weißes Feld!
Was mache ich falsch?
Der Beitrag ist einfach nur ein Link, den man nach Eingabe des richtigen Passwortes sehen soll.

Kommentar von Marion |

Hallo Anika,
danke für die hilfreiche Anleitung!
Weißt Du, ob man die 2FA problemlos wieder rückgängig machen kann?
Viele Grüße
Marion

Kommentar von Matthias Hechler |

Muss die DENIC denn nicht auch den Provider herausgeben?

Kommentar von Gottfried |

Hallo, 2FA ist ne super Sache, aber nun ist das Handy weg und ich habe noch eine Sicherung der Backup Codes. Muss ich den Codeblock nun ganz in des Feld eingeben?

Kommentar von Comichaot |

Hatte die letzten Tage vermehret Brutforce angriffe aber dank Limit Login Attempts Reloaded ist alles gut!

Kommentar von Michael Conrad |

Danke für den super Tipp! Das war genau das Steinchen, was mir auf den Weg zur Suche nach dem Webserver gefehlt hat.

Sie müssen sich anmelden, um Kommentare hinzuzufügen.