Configuration 

TypoScript constants 

All settings are configured under plugin.tx_dveducationcourses. The following constants are available:

Constant

Type

Default

Description

persistence.storagePid

int

(empty)

UID of the SysFolder containing course records.

settings.detailPid

int

(empty)

UID of the page containing the Course Detail plugin.

settings.listPid

int

(empty)

UID of the page containing the Course List plugin.

settings.eventDetailPid

int

(empty)

UID of the page containing the Event Detail plugin.

settings.courseDetailPid

int

(empty)

UID of the page containing the Course Detail plugin (used in event views to link back to the parent course).

settings.itemsPerPage

int

20

Number of items shown per page in list views.

Example configuration:

plugin.tx_dveducationcourses {
    persistence.storagePid = 42
    settings {
        detailPid = 10
        listPid = 9
        eventDetailPid = 12
        courseDetailPid = 10
        itemsPerPage = 15
    }
}
Copied!

FlexForm settings 

The Course List plugin provides a FlexForm with plugin-level overrides for the following settings. These values take precedence over the TypoScript constants when set:

Setting

Description

Default

settings.detailPid

Course detail page -- overrides the TypoScript constant for this specific plugin instance. Page picker (group type).

(from TypoScript)

settings.listPid

Course list page -- overrides the TypoScript constant for this specific plugin instance. Page picker (group type).

(from TypoScript)

settings.itemsPerPage

Number of items per page for pagination in this plugin instance.

20

To access the FlexForm, edit the Course List content element and switch to the Plugin tab.

Plugins (CType) 

The extension registers four content element plugins (CType). All plugins use the Extbase PLUGIN_TYPE_CONTENT_ELEMENT registration.

CType

Plugin key

Controller / Action

Cacheable

dveducationcourses_courselist

CourseList

CourseController::list

No (non-cacheable for POST search)

dveducationcourses_coursedetail

CourseDetail

CourseController::show

Yes

dveducationcourses_eventlist

EventList

EventController::list

No (non-cacheable for filtering)

dveducationcourses_eventdetail

EventDetail

EventController::show

Yes

Caching behaviour 

The extension configures cHash exclusions in ext_localconf.php for all plugin parameters. This ensures that search terms, filter values, and detail record UIDs do not generate unnecessary cHash values that would pollute the page cache.

The excluded parameters cover all four plugins:

  • tx_dveducationcourses_courselist[searchTerm]
  • tx_dveducationcourses_courselist[type]
  • tx_dveducationcourses_coursedetail[course]
  • tx_dveducationcourses_eventdetail[event]
  • All associated __referrer and __trustedProperties parameters

The CourseList and EventList plugins are registered as non-cacheable because they handle POST-based search and filter requests. The CourseDetail and EventDetail plugins are fully cacheable.

Template overrides 

The extension uses standard Extbase/Fluid template paths. To override templates in your site package, add higher-priority template paths via TypoScript:

plugin.tx_dveducationcourses {
    view {
        templateRootPaths.10 = EXT:your_site_package/Resources/Private/Extensions/DvEducationCourses/Templates/
        partialRootPaths.10 = EXT:your_site_package/Resources/Private/Extensions/DvEducationCourses/Partials/
        layoutRootPaths.10 = EXT:your_site_package/Resources/Private/Extensions/DvEducationCourses/Layouts/
    }
}
Copied!

The default template paths (priority 0) are:

  • EXT:dv_education_courses/Resources/Private/Templates/
  • EXT:dv_education_courses/Resources/Private/Partials/
  • EXT:dv_education_courses/Resources/Private/Layouts/