srhinow/event-reservation-bundle
Composer 安装命令:
composer require srhinow/event-reservation-bundle
包简介
this extension the Contao calendar-modul with reservation-functions
README 文档
README
Contao 5 Bundle, das das Contao-Calendar-Modul um ein Reservierungssystem für Veranstaltungen ergänzt. Besucher können sich über ein Frontend-Formular für einen Event anmelden; das Bundle verwaltet Plätze, Status und E-Mail-Benachrichtigungen über das terminal42/notification_center.
Anforderungen
| Abhängigkeit | Version |
|---|---|
| PHP | ^8.3 |
| Contao Core Bundle | ^5.3 |
| Contao Calendar Bundle | ^5.3 |
| terminal42/notification_center | ^2.5.3 |
Installation
composer require srhinow/event-reservation-bundle
Nach der Installation die Datenbank-Migration ausführen:
php bin/console contao:migrate
Backend
Erweiterung tl_calendar_events
Das Bundle fügt in der Event-Maske eine neue Palette-Sektion „Reservierung" hinzu:
| Feld | Beschreibung |
|---|---|
Reservierungslink ausblenden (dontShowReserveLink) | Checkbox: Blendet den Reservierungslink in der Eventansicht aus |
Maximale Teilnehmer (attendance) | Anzahl der verfügbaren Plätze (Pflichtfeld, Ganzzahl) |
Benachrichtigungs-E-Mail (ereserv_formto_email) | E-Mail-Adresse für eingehende Reservierungsbenachrichtigungen |
E-Mail-Betreff (ereserv_formto_subject) | Betreff der Benachrichtigungs-E-Mail |
Automatisch berechnete Felder (nicht im Formular sichtbar):
| Feld | Beschreibung |
|---|---|
booked | Aktuell bestätigte Buchungen — wird bei jeder Reservierungsänderung automatisch aktualisiert |
In der Backend-Eventliste erscheint ein zusätzliches „Reservierungen"-Icon, das direkt zu den Reservierungseinträgen des Events führt.
Reservierungseinträge (tl_event_reservations)
Kindeinträge eines Events. Über die globale Operation „CSV-Export" können alle Reservierungen eines Events exportiert werden.
| Feld | Beschreibung |
|---|---|
Vorname (firstname) | Pflichtfeld |
Nachname (lastname) | Pflichtfeld |
Straße (street) | Optionales Adressfeld |
PLZ (postal) | Optionales Adressfeld |
Ort (city) | Pflichtfeld |
Telefon (phone) | Pflichtfeld, wird auf Telefonnummern validiert |
E-Mail (email) | Pflichtfeld, primäre E-Mail-Adresse |
E-Mail 2 (email2) | Optionale zweite E-Mail-Adresse |
Status (status) | offen / bestätigt / abgelehnt / Warteliste — löst bei Änderung statusDate aus |
Benachrichtigung (notification) | Auswahl einer Notification-Center-Benachrichtigung |
E-Mail senden (sendEmail) | Checkbox: Löst beim Speichern eine NC-Benachrichtigung aus |
Anmerkung (annotation) | Internes Notizfeld (Freitext) |
Frontend-Module
| Modultyp | Beschreibung |
|---|---|
EventReservationForm | Reservierungsformular — liest den Event-Alias aus der URL |
EventReservationReader | Event-Reader-Variante mit eingebettetem Reservierungslink |
Das Formular kann direkt auf der Event-Detailseite oder auf einer separaten Seite mit Event-Alias im URL-Parameter eingebunden werden.
Notification Center
Der Benachrichtigungstyp „Event-Reservierung" muss in den NC-Einstellungen angelegt werden.
Verfügbare Token:
| Token | Inhalt |
|---|---|
##reservation_firstname## | Vorname |
##reservation_lastname## | Nachname |
##reservation_street## | Straße |
##reservation_postal## | PLZ |
##reservation_email## | |
##reservation_phone## | Telefon |
##event_title## | Veranstaltungstitel |
##event_startDate## | Startdatum |
##event_endDate## | Enddatum |
##event_startTime## | Startzeit |
##event_endTime## | Endzeit |
##event_max_places## | Maximale Teilnehmerzahl |
##event_open_places## | Noch verfügbare Plätze |
Insert-Tags
In Texten (Eventbeschreibung, Formularseite, Bestätigungsseite) können folgende Insert-Tags verwendet werden:
{{curevent::title}}
{{curevent::startDate}}
{{curevent::endDate}}
{{curevent::startTime}}
{{curevent::endTime}}
{{curevent::max_places}}
{{curevent::open_places}}
Diese lesen automatisch den aktuellen Event aus der URL (GET-Parameter event oder auto_item).
Datenbankstruktur
Erweiterung tl_calendar_events
| Spalte | Typ | Beschreibung |
|---|---|---|
dontShowReserveLink | char(1) | Reservierungslink ausblenden |
attendance | smallint(5) unsigned | Maximale Teilnehmerzahl |
ereserv_formto_email | varchar(255) | Benachrichtigungs-E-Mail |
ereserv_formto_subject | varchar(255) | Benachrichtigungs-Betreff |
booked | smallint(1) | Aktuell bestätigte Buchungen (automatisch) |
tl_event_reservations
| Spalte | Typ | Beschreibung |
|---|---|---|
id | int(10) unsigned PK AI | Primärschlüssel |
pid | int(10) unsigned | Eltern-Event (tl_calendar_events.id) |
tstamp | int(10) unsigned | Zeitstempel letzte Änderung |
modify | int(10) unsigned | Reserviertes Änderungsdatum |
member_id | int(10) unsigned | Verknüpftes Frontend-Mitglied (optional) |
firstname | varchar(255) | Vorname |
lastname | varchar(255) | Nachname |
street | varchar(255) | Straße |
postal | varchar(32) | PLZ |
city | varchar(255) | Ort |
phone | varchar(64) | Telefon |
email | varchar(255) | |
email2 | varchar(255) | Zweite E-Mail |
status | char(1) | Status: leer/1/2/3 |
notification | int unsigned | Ausgewählte NC-Benachrichtigung |
statusDate | varchar(10) | Zeitstempel der letzten Statusänderung |
sendEmail | char(1) | E-Mail senden beim Speichern |
annotation | text NULL | Interne Anmerkung |
Tests ausführen
vendor/bin/phpunit -c vendor/srhinow/event-reservation-bundle/phpunit.xml.dist
Changelog
Siehe CHANGELOG.md für die vollständige Versionshistorie.
Lizenz
LGPL-3.0-or-later
Autor
Sven Rhinow — sr-tag.de
Support: kservice@sr-tag.de
Quellcode: gitlab.com/srhinow/event-reservation-bundle
srhinow/event-reservation-bundle 适用场景与选型建议
srhinow/event-reservation-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 360 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 12 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「event」 「calendar」 「contao」 「reservation」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 srhinow/event-reservation-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 srhinow/event-reservation-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 srhinow/event-reservation-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Contao Open Source CMS
A modern PHP library for generating iCalendar v2.0 events
Diese Contao 4 Erweiterung stellt Google reCAPTCHA V2 in Form eines neuen Formularfeldes im Formulargenerator bereit. This extension provides Google reCAPTCHA V2 in the form of a new form field in the form generator of Contao Open Source CMS.
A powerful event calendar Tool for Laravel's Nova 5.
Check for holidays - localeaware
Symfony bundle for broadway/broadway.
统计信息
- 总下载量: 360
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 21
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-or-later
- 更新时间: 2018-12-25