Logo

Das ist keine keine Webseite. Das ist ein Platzhalter mit nützlichen Informationen!

Logo

Das ist keine keine Webseite. Das ist ein Platzhalter mit nützlichen Informationen!

Plugins für Buchen und Buchungsbestätigung

Das Buchungsplugin konfigurieren und die dazu nötige RealUrl- sowie TypoScript-Konfiguration.

  • Gegenwart1
  • Kraftvoll2
  • Vergangenheit2
  • Zukunft1
  • schön1

Die Funktionalität

Die Erweiterung ermöglicht das Buchen von Veranstaltungen. Der Buchungsprozess umfasst das Ausfüllen eines Formulars, nach dessen Absenden eine Mail an den Buchenden versandt wird, mit der Bitte um Bestätigung durch Klick auf einen Link. Wird die Buchung bestätigt, werden die Plätze reserviert, und der Buchende erhält einer erneute Bestätigung und optional zusätzlich eine vorher konfigurierbare ICS Kalendereintrag. Es ist möglich Early Bird Preise einzustellen und vorzukonfigurieren bis wie viel Tage vor Beginn der Veranstaltung diese Preise gelten sollen. Außerdem ist die Gültigkeit der Bestätigungslinks konfigurierbar.

 

Plugin Konfiguration

Buchung und Buchungsbestätigung können auf der gleichen Seite erfolgen, das kann aber auch auf unterschiedlichen Seiten erfolgen. In diesem Tutorial wird die erste Version erklärt, da dies meist ausreichend ist. 

Das Plugin wird in diesem Tutorial auf Seite 281 (buchen) eingerichtet. Zu erst wird im Plugin, in welchem die Detailansicht und somit das Buchungsformular angezeigt wird, die Buchungsseite angegeben. (Bild 1)

Das Buchungsplugin wird wie folgt konfiguriert:

  • Im Tab "Settings" unter "What to display" wird "created Application" ausgewählt. (Bild 2)
  • Im Tab "Additional" wird unter "Booking Confirmation" die Seite 281 ausgewählt. Bei Aufteilung von Buchung und Buchungsbestätigung muss hier natürlich respektive die Seite mit dem Buchungsbestätigungsplugin ausgewählt werden. 
  • Wird die Detailansicht nicht über die Kategorien bestimmt, wie es ja mit News möglich ist, muss hier unter "Pageid for single news display" die Detailseite angegeben werden. Daraus wird der Link in der Buchunsbestätigung zum Event generiert.
  • Die Felder im Tab "Application/Booking" sind auszufüllen.

Die Felder im Tab "Application/Booking" im Detail:

  • Sender Mail / Sender Name: Mail und Name der angezeigt wird, wenn die E-Mail Bestätigung den Buchenden erreicht. 
  • Adminmails for notification: Eine Kommaseparierte Liste von E-Mailadressen an welche eine Info über die Buchung geschickt werden soll. Das passiert erst wenn der Buchende auf seinen Bestätigungslink geklickt hat. Werden Buchung und Buchungsbestätigung aufgeteilt auf zwei Plugins, ist das nur im Plugin auszufüllen, in dem die Buchungsbestätigung passiert.
  • Send Notification to Author: Wenn ausgewählt, der im News Event eingetragene Author erhält ebenfalls eine E-Mail.
  • Send ICS Invitation to Customer: Der Kunde erhält nach Bestätigung der Buchung einen Kalendereintrag per E-Mail. 
  • Field to use for ICS Description: Hier kann gewählt werden, woraus sich im Kalendereintrag die Terminbeschreibung speist. Das gewählte Feld darf kein HTML enthalten. HTML kann in ICS Feldern nicht dargestellt werden. Das ist kein Bug sondern eine Beschränkung in der ICS Deklaration. Wird "Locallang + Url" gewählt, wird der Text aus der locallang der Extension mit eine url zum Event in die Beschreibung eingefügt. Wird "Custom News Item Field" gewählt (Bild4), erscheint ein neues Feld "Field Name" in welchem der Name des Feldes bestimmt werden kann. Dazu ist Kenntnis der Datenbankfeldnamen der News Erweiterung notwendig. Außerdem ist auch hier zu beachten, dass kein HTML im Feld vorhanden ist. Nützlich ist das vor allem für diejenigen, welche die News Extension mit weiteren Feldern erweitert haben und eines der eigenen Felder verwenden möchten. 
  • Early Bird Time in Days before Event: Hier wird eine Zahl eingetragen, welche die Anzahl Tage repräsentiert, bis zu welchen gebucht werden muss um den Early Bird Preis zu zahlen. Beispiel: Findet die Veranstaltung am 10. Februar statt, und wird hier eine 5 eingetragen, so kann der Buchende bei Buchung bis zum 5. Februar den günstigeren Preis erhalten, sofern im Event selbst ein solcher eingetragen ist.
  • Files to send with booking confirmation: Hier können Dateien hochgeladen werden, welche mit der Buchungsmail an den Kunden versand werden sollen. Nützlich für AGBs oder Widerrufsbelehrungen. Das Feld funktioniert leider nicht wenn das Plugin innerhalb von Gridelements gebraucht wird. Das liegt an einer Beschränkung im Core von TYPO3 und der Erweiterung Gridelements. Mehr dazu Eine Alternative dazu wird daher in der TypoScript Konfiguration der Erweiterung angeboten.

 

RealUrl Konfiguration

Die RealUrl Konfiguration für die News Erweiterung wird hier nicht beschrieben. Diese sollte mit Installation der News Erweiterung vorgenommen werden. Ein Beispiel dafür findet ihr im dazugehörigen Manual.

Für die Dated News Erweiterung wird in der postVarSets/Default Sektion der RealUrl Konfiguration folgendes hinzugefügt: 

 

//dated_news start
'newsBookingConfiguration' => array(
            array(
                'GETvar' => 'tx_news_pi1[action]',
                'valueMap' => array(
                    'confirmed' => 'confirmApplication',
                ),
                'noMatch' => 'bypass'
            ),
            array(
                'GETvar' => 'tx_news_pi1[controller]',
                'valueMap' => array(
                    'News' => '',
                ),
                'noMatch' => 'bypass'
            ),
            array(
                'GETvar' => 'tx_news_pi1[title]',
                'noMatch' => 'bypass'
            ),
            array(
                'GETvar' => 'tx_news_pi1[newApplication]',
                'userFunc' => 'FalkRoeder\\DatedNews\\Hooks\\Realurl->decodeSpURL_getSequence',
            ),
            array(
                'GETvar' => 'tx_news_pi1[news]',
                'lookUpTable' => array(
                    'table' => 'tx_news_domain_model_news',
                    'id_field' => 'uid',
                    'alias_field' => 'title',
                    'addWhereClause' => ' AND NOT deleted',
                    'useUniqueCache' => 1,
                    'useUniqueCache_conf' => array(
                        'strtolower' => 1,
                        'spaceCharacter' => '-'
                    ),
                    'languageGetVar' => 'L',
                    'languageExceptionUids' => '',
                    'languageField' => 'sys_language_uid',
                    'transOrigPointerField' => 'l10n_parent',
                    'autoUpdate' => 1,
                    'expireDays' => 180,
                )
            )
        ),
        281' => 'newsBookingConfiguration', 
// dated_news end

 

Nach der Zeile 46 können natürlich weitere Seiten hinzugefügt werden, auf denen sich Buchungsplugins befinden.

 

TypoScript Konfiguration

  • validDaysConfirmationLink: Legt fest, wie lange ein Bestätigungslink gültig sein soll
  • filesForMailToApplyer: Dateien welche mit Der Buchungsmail an den Kunden versandt werden sollen. Typischerweise für AGBs oder Wiederrufsbelehrungen. Beispiel:
plugin.tx_news.settings.dated_news.filesForMailToApplyer = /uploads/tx_datednews/aaaaaaaaaaaaa.pdf,/uploads/tx_datednews/bbbbbbbbbbbbb.pdf