priorist / edm-typo3
Provides a plugin to render events from EDM in TYPO3.
Installs: 507
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
Requires
- priorist/edm-sdk: ^1.0
- typo3/cms-backend: ^12.4 || ^13.4
- typo3/cms-core: ^12.4 || ^13.4
- dev-master
- v3.0.10
- v3.0.9
- v3.0.8
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.2
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.9.9
- v0.9.8
- v0.9.7
- 0.9.6
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.0
- v0.7.0
- 0.6.0
- v0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
This package is auto-updated.
Last update: 2025-08-12 12:58:09 UTC
README
A Typo3 extension that interacts with Education Manager (EDM).
Necessary Typo3 Setup
In order for the extension to work properly, there are some things to configure within your Typo3 instance.
TypoScript
Firstly, you should create a root template that defines the following TypoScript constants (not setup!):
plugin.tx_edmtypo3 {
edm {
url = <URL of your EDM instance>
auth {
// OAuth App (configured in EDM) for general authentication, i.e. listing events
anonymous {
clientId = <Client ID for general authentication>
clientSecret = <Client Secret for general authentication>
}
// OAuth App (configured in EDM) for actual user authentication if EDM Login Portal is activated (optional)
profile {
clientId = <Client ID if EDM Login Portal is activated>
redirectUri = <Redirect URI after successful login>
}
}
}
// Used in Fluid templates to load correct file versions
versions {
form = <Version number of the registration form, i.e 2.0.3>
config = <Version number of the registration form config, i.e 1.3.1>
profile-snippet = <Version number of the EDM profile snippet, i.e 1.0.0>
}
errors {
enrollment {
mailFrom = <Sender of the error mail>
mailTo = <Recipient of the error mail>
mailSubject = <Subject of the error mail>
}
}
// Page UIDs that are used to properly link from TYPO3 templates
pageuids {
eventSearch = <puid>
eventDetail = <puid>
eventEnrollment = <puid>
locationDetail = <puid>
lecturerDetail = <puid>
}
customConditions {
// Used in EventController to specify EDM event types for which all events should be shown, regardless of dates or price
eventTypes {
showAllEvents = <eventId>
}
}
}
Page Structure
How you use the extension is totally up to you, but in general the following page setup is advisable:
- A page containing the
Eventdetail
plugin ("Veranstaltungen: Detailseite"). This shows detailed information about a single event. - A page containing the
Enrollmentnew
plugin ("Veranstaltungen: Anmeldung"). The template must integrate ouredm-registration-form
React application to handle enrollments (see below). - A page containing either the
Eventsearch
plugin ("Veranstaltungen: Suche") or using theEventlist
plugin ("Veranstaltungen: Liste") wherever you want to. Both list events, but theEventsearch
plugin providesfilterData
andcategoryTree
to the Fluid template, making it possible to build search/filter functionality on top. Whereas theEventlist
plugin offers more filters in the TYPO3 backend.
Enrollment to Events
To enable enrollments in EDM through the website, the following has to be ensured:
- A page includes the
Enrollmentnew
plugin. - The
Private/Ext/edm/Templates/Enrollment/New.html
template includes theedm-registration-form
Javascript files (form
andconfig
) - The
Private/Ext/edm/Templates/Enrollment/New.html
template exposes theaccessToken
provided by the controller as a Javascript variable called__authToken
- The
edm-registration-form
is initialised like so:
EdmForm.init( EdmForm.config, // DO NOT CHANGE __event, // The Javascript variable the `event` from the controller is stored into "event", // DO NOT CHANGE document.getElementById("edm-registration-form"), // CSS selector of an HTML element the form is attached to 680, // Max width of the form application; defaults to "none" 16, // Padding that should be applied to the form application; defaults to 0 "", // Only relevant for "newsletter" variant, not for "event" "", // Only relevant for "newsletter" variant, not for "event" "de" // Language the form should render in, currently works with "de", "en", "fr" and "es"; defaults to "de" );
Extend Extension
It is possible to further extend the extension for your needs. This can be done either through hooks or by adding to already existing controller actions.
Since the provided templates are very rudimentary, it is advised to build your own in a separate extension, overwriting the ones from the edm-typo3
extension.