Contao Nordtag 2017

Seminarverwaltung mit Contao, Notification Center, Leads und Calendar Extended

Thomas Weitzel

Thomas Weitzel

Diplom-Designer

  • Contao Anwender seit 2006
  • Zwei Fachbücher zu Contao (2010 & 2013)
  • Contao Jahrbuch
  • Partner-Programm
  • Contao News
  • Contao Best Practices
  • Organisator Contao Stammtisch Stuttgart
  • Contao Premium-Partner Webdesign & Schulungen
  • Leidenschaft für Luftfahrt & Fotografie
  • Trinkt gerne Espresso

Up into the sky

Welche Lösungen sind bekannt?

Contao Seminarverwaltung (kommerziell, leider eingestellt)

Event Manager (FastMedia, kommerziell)

Contao Eventmanager (Fruitmedia,kommerziell)

Einfach Event-Anmeldung (Open Source, von Felix Pfeiffer) - Mitglieder können sich für Events anmelden

events_subscriptions (Open Source, von Kamil aka codefog.pl) - Mitglieder können sich für Events anmelden

Inhalte

Was wollen wir erreichen?

Welche Schritte sind nötig?

Der konkrete Aufbau der Module

Die Ausgabe

Anpassungen

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können
  • zu jedem Seminar kann man sich über ein Formular anmelden

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können
  • zu jedem Seminar kann man sich über ein Formular anmelden
  • wird die maximale Teilnehmeranzahl erreicht wird die Anmeldung deaktiviert

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können
  • zu jedem Seminar kann man sich über ein Formular anmelden
  • wird die maximale Teilnehmeranzahl erreicht wird die Anmeldung deaktiviert
  • wird das Anmeldedatum erreicht wird die Anmeldung deaktiviert

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können
  • zu jedem Seminar kann man sich über ein Formular anmelden
  • wird die maximale Teilnehmeranzahl erreicht wird die Anmeldung deaktiviert
  • wird das Anmeldedatum erreicht wird die Anmeldung deaktiviert
  • eine Bestätigungsmail an den Seminarteilnehmer senden

Was wollen wir erreichen?

Eine Seminarverwaltung erstellen

  • mit der wir eine Mindest- und Maximalanzahl an Seminarteilnehmern vorgeben können
  • zu jedem Seminar kann man sich über ein Formular anmelden
  • wird die maximale Teilnehmeranzahl erreicht wird die Anmeldung deaktiviert
  • wird das Anmeldedatum erreicht wird die Anmeldung deaktiviert
  • eine Bestätigungsmail an den Seminarteilnehmer senden
  • eine Bestätigungsmail an den Seminarveranstalter senden

Welche Schritte sind nötig?

  • Contao installieren
  • Die Erweiterungen installieren
    • notification_center
    • (contao)-leads
    • calendar_extended
    • php_excel

Alle Erweiterungen sind über den Composer Client installierbar.
Alternativ über das ER und manuell installieren.
Bei manueller Installation Abhängigkeiten beachten und installieren!

Basis-Struktur anlegen

  • Seitenstruktur anlegen
  • Theme anlegen
  • Seitenlayout anlegen
  • CSS anlegen

1. Eventarchiv(e) erstellen

  • Eventarchiv(e) erstellen, inkl. Detailseite
  • Modul Eventliste erstellen
  • Modul Eventreader erstellen

2. Eventarchiv(e) erstellen - Listenmodul

  • Modul Eventliste erstellen

2. Eventarchiv(e) erstellen - Listenmodul

  • Modul Eventliste erstellen

3. Eventarchiv(e) erstellen - Lesermodul

  • Modul Eventleser erstellen

4. Anmeldeformular

  • Formular erstellen
  • Formularfelder anlegen

Jedem Event kann ein Formular zugeordnet werden.
Je Event auch unterschiedliche Formulare, jedoch immer nur ein Formular.

4. Anmeldeformular - Formular erstellen

  • Formular erstellen

4. Anmeldeformular - Formular erstellen

  • Formular erstellen

4. Anmeldeformular - Wichtige Informationen

Wichtig: Im Formular selbst wird kein Versand eingestellt; dies übernimmt das Notification Center.

Anfragen speichern -> Hauptkonfiguration -> Master-Formular.

Um die in Leads gespeicherten Daten ansehen zu können, benötigt man eine Bezeichnung im Feld „Navigations-Bezeichnung”, die dann in der linken Spalte angezeigt wird.

Im Feld „Datensatz-Bezeichnung” können mit Simple Tokens Werte aus dem Datensatz ausgegeben werden. ##created## gibt das Datum und die Uhrzeit aus, an dem das Formular abgesendet wurde. Hilfreich um in der Auflistung einen schnellen Überblick zu bekommen.

Beispiel: ##created## | ##Vorname## ##Nachname## | ##Firma## | ##eventtitle##

Hinweis: Im Gegensatz zur Bestätigungsmail im Notification Center wird hier nur der Feldname innerhalb der zwei Rauten am Anfang und Ende eingesetzt.

Nur die Felder, die im Feld „In Anfrage speichern” ausgewählt werden, werden später in Leads angezeigt! Felder wie SPAM oder der Submit-Button können ausgeschlossen werden.

4. Anmeldeformular - Gespeicherte Anmeldungen (Leads)

Übersicht der eingegangenen Seminarbuchungen

4. Anmeldeformular - Formular erstellen

Die ersten 3 Felder eventid, published und count müssen vorhanden sein, damit alles funktioniert.
Wichtig ist, dass alle Felder in der Abfrage gespeichert werden.

4. Anmeldeformular - Felder anlegen und definieren

verstecktes Feld eventid anlegen

4. Anmeldeformular - Felder anlegen und definieren

verstecktes Feld eventtitle anlegen

4. Anmeldeformular - Felder anlegen und definieren

verstecktes Feld published anlegen

4. Anmeldeformular - Felder anlegen und definieren

verstecktes Feld count anlegen

4. Anmeldeformular - Felder anlegen und definieren

versteckte Felder

4. Anmeldeformular - Felder anlegen und definieren

weitere Felder…

4. Anmeldeformular - Felder anlegen und definieren

weitere Felder…

5. Notification Center

  • Gateway anlegen -> E-Mail
  • Benachrichtigung definieren

5. Notification Center - Gateway anlegen - E-Mail

  • Gateway anlegen -> E-Mail

5. Notification Center - Gateway anlegen - E-Mail

  • Gateway anlegen -> E-Mail

5. Notication Center

  • Benachrichtigung definieren

5. Notification Center

  • Benachrichtigung definieren

5. Notification Center

  • Benachrichtigung definieren

5. Notification Center

  • Benachrichtigung definieren

5. Notification Center

  • Benachrichtigung definieren

5. Notification Center

  • Benachrichtigung definieren

5. Notification Center - Simple Tokens

Für die Bestätigungsmail werden mit Simple Tokens die Formularwerte ausgegeben.

Schema: ##form_*##

Beispiel: Vorname: ##form_Vorname##

6. Event(s) anlegen

Event anlegen

6. Event(s) anlegen

Event anlegen

6. Event(s) anlegen

Event anlegen

6. Event(s) anlegen - Anmeldeformular aktivieren

  • Checkbox Anmeldung aktivieren, damit Optionen angezeigt werden.
  • minimale und maximale Teilnehmerzahl eintragen
  • das passende Anmeldeformular auswählen
  • Anmeldedatum eingeben, optional Abmeldedatum eingeben
  • Event veröffentlichen

Anpassungen

  • Templates für die Ausgabe
  • DCA-Anpassungen

Anpassungen

Um die Eventinformationen ausgeben zu können, müssen die Templates erweitert und angepasst werden.

Exemplarisch für die Templates events_upcoming.html5 und event_full.html5.

Anpassungen - Templates für die Ausgabe

Template event_upcoming anpassen

Anpassungen - Templates für die Ausgabe

Template event_full anpassen

Anpassungen - Templates für die Ausgabe

Teilnehmeranzahl / freie Plätze anzeigen

Diese Werte können in der Datei „system/config/langconfig.php” eintragen und angepasst werden.

Mehr Anpassungen

  • Templates für die Ausgabe
  • DCA-Anpassungen

Anpassungen

Um die Eventinformationen ausgeben zu können, müssen die Templates erweitert und angepasst werden.

Exemplarisch für die Templates events_upcoming.html5 und event_full.html5.

Frontendausgabe anpassen - Listenausgabe

Liste mit Angabe der freien Plätze

Frontendausgabe anpassen - Leserausgabe

Leser mit Anmeldeformular und Seminarinformationen

Frontendausgabe anpassen - Leserausgabe

Leser mit Anmeldeformular und Seminarinformationen

Frontendausgabe anpassen - Leserausgabe

Leser mit Anmeldeformular und Seminarinformationen

Verwendete Erweiterungen

  • Contao 3.5.25 mit Composer
  • Notification Center
  • Leads
  • Calendar Extended
  • php_excel

Quellen | Informationen

https://www.contao-bayern.de/newsreader/reveal-js-in-contao.html

https://community.contao.org/de/showthread.php?64125-calendar_extended-leads-und-notification_center-gt-Daten-%C3%BCbergeben&p=432755&viewfull=1#post432755

https://github.com/codefog/contao-haste/blob/master/docs/Util/InsertTags.md

https://isotopeecommerce.org/de/handbuch/v/2.4/r/simple-tokens.html

https://github.com/terminal42/contao-leads

Danke und einen tollen Contao Nordtag euch.