Configuration
Table of Contents
TypoScript constants
All settings are configured as TypoScript constants under
plugin.tx_dveducationregistration. Use the Constant Editor
in the TYPO3 backend or set them in your site package.
|
Constant |
Type |
Default |
Description |
|---|---|---|---|
|
|
int |
(empty) |
UID of the SysFolder where participant and inquiry records are stored. |
|
|
string |
(empty) |
Email address that receives admin notifications for new registrations and inquiries. |
|
|
int |
(empty) |
UID of the page that contains the Registration Form plugin used for the confirmation action. The confirmation link in the email points to this page. |
|
|
int |
(empty) |
UID of the page containing the terms and conditions. Used to render a link in the registration form. |
Example:
plugin.tx_dveducationregistration {
persistence.storagePid = 42
settings {
adminEmail = admin@example.com
confirmationPid = 55
termsPageUid = 60
}
}
Plugins (CType content elements)
The extension registers two CType plugins. Both are fully non-cacheable
(all actions are listed as non-cacheable in ext_localconf.php).
Registration Form
- CType:
dveducationregistration_registrationform - Controller:
RegistrationController - Actions:
new,create,confirm - Purpose: Displays the registration form for a specific event and handles the double opt-in confirmation.
Inquiry Form
- CType:
dveducationregistration_inquiryform - Controller:
InquiryController - Actions:
new,create - Purpose: Displays the inquiry form for inhouse training or information requests.
FlexForm
If FlexForm XML files are provided in
Configuration/FlexForms/, they allow editors to override
TypoScript settings per content element (e.g., selecting a specific event or
overriding the admin email). Check the content element's plugin settings tab
in the backend for available options.
Caching
Both plugins are registered as entirely non-cacheable. Every action
(new, create, confirm) bypasses the TYPO3 page cache. This
ensures that:
- Form tokens (
__trustedProperties,__referrer) are always fresh. - Flash messages are displayed correctly after form submission.
- The confirmation action always reads the current database state.
No additional cache configuration is needed.
Email template customization
Email subjects and body texts are loaded via LocalizationUtility from
the extension's language files at:
EXT:dv_education_registration/Resources/Private/Language/
To customize email texts, override the language labels in your site package
using TYPO3's standard localization override mechanism in
config/:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']
['EXT:dv_education_registration/Resources/Private/Language/locallang.xlf'][]
= 'EXT:my_site_package/Resources/Private/Language/Overrides/dv_education_registration.xlf';
Relevant label keys:
email.confirmation.subject-- subject line for the confirmation emailemail.confirmation.body-- body of the confirmation email (placeholders:%1$s= participant name,%2$s= confirmation URL)email.admin.subject-- subject line for admin registration notificationemail.inquiry.subject-- subject line for admin inquiry notification
Garbage collection (scheduler task)
The extension provides a garbage collection task for DSGVO-compliant deletion of old records. Configure it in the TYPO3 Scheduler:
- Go to Admin Tools > Scheduler.
- Create a new task of type Garbage Collection (provided by this extension).
-
Configure the retention periods:
- Participant records: 365 days (default) -- confirmed and unconfirmed registrations older than this are permanently deleted.
- Inquiry records: 180 days (default) -- inquiry requests older than this are permanently deleted.
- Set the task frequency (recommended: daily).
This ensures that personal data is not stored longer than necessary, in compliance with GDPR/DSGVO requirements.