JEM Types Module

Module name: JEM - Types

Extension: mod_jem_types

Current versions: JEM 5.0.1, JEM 5.0.2 Beta 1 and JEM 5.1.0 Beta 4.

Joomla compatibility: Joomla 5.4 and Joomla 6.

The JEM Types module displays published JEM event types in a Joomla module position. It can provide compact navigation with an event count for each type, or show the next upcoming events grouped by type.

Event types provide a second classification layer beside categories. A category normally describes the subject or section of an event, while a type describes its format: Concert, Guided Tour, Workshop, Talk, Festival, Meeting, Webinar or Exam.

Where To Find The Module

  1. Open System → Site Modules in the Joomla administrator.
  2. Select New.
  3. Choose JEM - Types.
  4. Select a template position, configure the options and publish the module.
  5. Use the Menu Assignment tab to control where the module is displayed.

Display Modes

Display modeFrontend resultRecommended use
Summary with count Displays each event type with the number of upcoming events visible to the current visitor. Sidebars, compact navigation and overview blocks.
Top N events per type Displays each type followed by its next upcoming events. Homepages, programme pages, dashboards and event highlights.

Important Concepts

ConceptMeaning in JEM
Event type A classification assigned to an event which describes its format or purpose.
Category A classification normally used to organise events by subject, department or section.
Type Events page The frontend JEM view listing the events assigned to one selected type.
Event count The number of current or upcoming events of that type which the visitor is allowed to see.
Associated article An optional Joomla article connected to an event. In Top N mode, the module can show a link or button to that article.

Basic Options

OptionAvailabilityDefaultDescription
Event hierarchy JEM 5.1.0 Beta 4 Calendar default Controls whether parent events, programme items or both are counted and displayed. See the JEM 5.1.0 appendix below.
Display mode All current versions Summary Selects between a type list with event counts and the next events grouped by type.
Events per type Top N mode 3 Defines how many events are displayed for each type. The accepted range is 1 to 20.
Show More Information Top N mode Yes, link Displays a link or button when the event has an accessible associated Joomla article. Available values are No, Yes as link and Yes as button.
Event block layout Top N mode Default Controls the event block layout used on the destination event page. It can inherit the default, or explicitly use Details or Compact.
Venue block layout Top N mode Default Controls the venue block layout used inside the destination event page. It can inherit the default, or explicitly use Details or Compact.
Show More Information Title Top N mode with More Information enabled No Adds the associated Joomla article title after the More information text.
Hide types with no events All current versions No Removes types which have no current or upcoming events visible to the visitor.
Show module when no types All current versions No Keeps the module visible when no type can be displayed. The module then shows the empty-state message.
Show intro text All current versions No Displays custom content before the type list.
Intro text When intro text is enabled Empty Safe HTML content displayed above the module output.
Show footer text All current versions No Displays custom content after the type list.
Footer text When footer text is enabled Empty Safe HTML content displayed below the module output.

Advanced Options

OptionDefaultDescription
Alternative Layout Default Selects a module layout provided by JEM or by the active Joomla template.
Module Class Empty Adds a suffix to the mod-jem-types wrapper class. Include a leading space when adding a separate CSS class, for example types-sidebar.
Caching Use Global Uses Joomla's global module caching setting or disables caching for this module.
Cache Time 900 seconds Defines how long cached module output is retained. Disable caching temporarily when testing visibility or configuration changes.

Summary Mode

Summary mode displays the published event types available to the current visitor. Each type links to its corresponding Type Events page and includes the number of visible current or upcoming events.

ElementBehaviour
Type name Links to the corresponding Type Events page.
Type icon Displayed before the name when an icon class is configured for the type.
Type colour Displayed as a left border when the type contains a valid six-digit colour such as #336699.
Type description A shortened version may be used as the link tooltip.
Event count Displayed as a badge. Each event is counted once, even when it is connected to multiple visible categories.
Ordering Types are ordered using their JEM ordering value and then by name.

Top N Mode

Top N mode displays every available type as a group and lists the next events assigned to it. Events are ordered by their start date.

ElementBehaviour
Type heading Links to the complete Type Events page.
Type icon Displayed when configured for the type.
Event title Links to the JEM event page using the selected destination block layouts.
Date and time Displays the event's short date and time next to its title.
More information Optionally links to the associated Joomla article when that article is available to the visitor.
View all events Links to the complete list for that event type.

More Information Options

ValueFrontend result
No No associated-article link is displayed.
Yes, link Displays More information as a text link.
Yes, button Displays More information using button styling.
Show More Information Title Appends the article title, for example: More information: Registration requirements.
Important: More Information is only displayed when the event has an associated Joomla article and that article is available to the current visitor.

Event Type Inheritance In Recurrences

A generated recurrence may not store its own event type. In this situation, the module uses the type assigned to the original event in the recurrence series. This keeps recurring events grouped and counted under the expected type.

Visibility And Access Rules

The result is calculated for the current visitor. Guests, registered users and administrators can therefore see different type counts and event lists.

ResourceRule
Event type The type must be published, configured for events and available through the visitor's Joomla access levels.
Event The event must be published, inside its publication period and accessible to the visitor.
Event date An event is included while its effective end date is today or later. An ongoing multi-day event is therefore still included.
Category The event must have at least one published and accessible category.
Venue An event without a venue can be displayed. When a venue is assigned, it must be published and accessible.
Language On multilingual sites, the module respects the current site language and JEM type translations.
Associated article The article link is only displayed when the visitor can access the article.
JEM 5.1.0 age access Events rejected by the effective event and venue age restrictions are not counted or listed for that registered user.

Event start and end dates are calendar values interpreted using the Joomla site time zone. Joomla publication start and end controls are evaluated through the normal publication-window checks.

Empty Results

ConfigurationResult
Hide empty types: No Summary mode can display types with a count of zero. Top N mode can display a type followed by “No upcoming events”.
Hide empty types: Yes Types without visible upcoming events are removed from the result.
No types remain and Show module when no types: No The module produces no frontend output.
No types remain and Show module when no types: Yes The module remains visible and displays “No event types available”.

Layouts And Overrides

The module currently includes one PHP layout:

modules/mod_jem_types/tmpl/default.php

To customise its HTML without modifying JEM core files, copy it to:

templates/YOUR_TEMPLATE/html/mod_jem_types/default.php
Keep overrides under review: template overrides are not automatically updated when JEM changes its original layout. Compare the overridden file with the distributed layout after updating JEM.

CSS Customisation

Unlike the visual JEM modules, JEM Types does not distribute a dedicated default.css module stylesheet. Its output uses Bootstrap utility classes, the general JEM frontend stylesheet and specific CSS selectors.

For small additive changes affecting JEM modules, use:

media/com_jem/css/custom/jem-user-module.css

This optional stylesheet is loaded after the JEM module output. You can also place the rules in the custom stylesheet provided by your active Joomla template.

Do not create templates/YOUR_TEMPLATE/css/mod_jem_types/default.css expecting it to be loaded automatically. JEM Types does not request a layout-specific module stylesheet. Use jem-user-module.css, the template stylesheet, or a PHP layout override.

Available CSS Selectors

SelectorElement
.mod-jem-types Main module content wrapper.
.mod-jem-types__list Summary-mode type list.
.mod-jem-types__item One type in Summary mode.
.mod-jem-types__link Type link.
.mod-jem-types__count Event-count badge.
.mod-jem-types__group One type group in Top N mode.
.mod-jem-types__group-title Type heading in Top N mode.
.mod-jem-types__events Event list inside a type group.
.mod-jem-types__event One event row.
.mod-jem-types__date Event date and time.
.mod-jem-types__more-information Associated-article link or button.
.mod-jem-types__more View all events link.
.mod-jem-types__empty Empty-module message.
.mod-jem-types__no-events Empty type message in Top N mode.

CSS Example

.mod-jem-types__list {
    display: grid;
    gap: 0.5rem;
}

.mod-jem-types__item {
    padding: 0.35rem 0.5rem;
}

.mod-jem-types__group + .mod-jem-types__group {
    margin-top: 1.25rem;
}

.mod-jem-types__date {
    display: inline-block;
}

@media (max-width: 575.98px) {
    .mod-jem-types__date {
        display: block;
        margin-left: 0 !important;
    }
}

Configuration Examples

Example 1: Compact Sidebar Navigation

  • Display mode: Summary.
  • Hide types with no events: Yes.
  • Show module when no types: No.
  • Caching: Use Global.

This provides a short list such as Concerts (4), Workshops (2) and Webinars (1).

Example 2: Homepage Programme Preview

  • Display mode: Top N events per type.
  • Events per type: 3.
  • Show More Information: Yes, link.
  • Event block layout: Details.
  • Venue block layout: Compact.
  • Hide types with no events: Yes.

This configuration provides a concise overview of the next three events in every active type.

Example 3: Editorial Event Resources

  • Display mode: Top N events per type.
  • Events per type: 2.
  • Show More Information: Yes, button.
  • Show More Information Title: Yes.
  • Intro text: “Explore our upcoming courses and supporting resources.”

This is useful when events have associated articles containing course material, detailed instructions or downloads.

Example 4: Complete Type Catalogue

  • Display mode: Summary.
  • Hide types with no events: No.
  • Show module when no types: Yes.
  • Footer text: A link explaining the organisation's event formats.

All accessible published types remain visible, including types whose event count is currently zero.

Example 5: Conference Programme In JEM 5.1.0

  • Event hierarchy: Subevents only.
  • Display mode: Top N events per type.
  • Events per type: 5.
  • Hide types with no events: Yes.

This can display individual talks, workshops and sessions without also listing the parent conference event.

Example 6: Main Events Without Programme Sessions

  • Event hierarchy: Parent events only.
  • Display mode: Summary.
  • Hide types with no events: Yes.

This counts the main festival, conference or programme events while excluding their individual sessions.

Routing And Menu Items

The module creates links to event pages and Type Events pages through the JEM router. Joomla can generate fallback routes, but a dedicated menu item produces more predictable URLs, module assignments and breadcrumbs.

For important type-based navigation, create a JEM Type Events menu item for the relevant event type.

Troubleshooting

SymptomLikely causeWhat to check
The module is not displayed No types remain after filtering and Show module when no types is disabled. Check module publication, menu assignment, access level, types and the empty-result options.
A type is missing The type is unpublished, assigned to venues instead of events, inaccessible, filtered by language or removed by Hide empty types. Check the type's status, entity, access, language and upcoming events.
The event count is lower than expected Some events are finished, unpublished, outside their publication period or hidden through event, category, venue, language or age access. Test the same event while logged in as the affected user and check every related resource.
Top N displays “No upcoming events” The type is visible but has no matching upcoming events. Assign a published upcoming event or enable Hide types with no events.
More Information is missing The event has no associated article, the article is inaccessible or the option is disabled. Check the event association, article publication and access, and the module setting.
A recurrence appears under the wrong type The recurrence or its original event has an unexpected type assignment. Check the first event in the recurrence series and any type stored directly in the generated occurrence.
The link opens an unexpected layout The module inherits a different global or menu-item layout. Select Details or Compact explicitly in Event block layout and Venue block layout.
The link uses an unexpected URL There is no suitable JEM menu item for that Type Events page. Create a published Type Events menu item and review its language and access settings.
A recent change is not visible The module output is cached. Clear Joomla's cache or temporarily set Caching to No caching.

JEM 5.1.0 Beta 4 Appendix

Beta feature: the following behaviour belongs to JEM 5.1.0 Beta 4 and is not available in JEM 5.0.1 or JEM 5.0.2 Beta 1.

Event Hierarchy

JEM 5.1.0 introduces programme events and subevents. The Event hierarchy option is applied consistently to both Summary counts and Top N event lists.

ValueEvents includedTypical use
Calendar default Top-level events and subevents explicitly enabled for calendar display. General-purpose module matching the normal calendar hierarchy.
Parent events only Only top-level programme or standalone events. Festival, conference or course overview.
Subevents only Only events which belong to a parent event. Sessions, talks, lessons or programme items.
Parent events and subevents All matching parent events and programme items. Complete programme output where duplicate context is acceptable.

Hierarchy Visibility

A subevent is not displayed when its parent event is not visible to the current visitor. Events assigned to nested venues also respect the effective venue hierarchy and access rules.

Age-Aware Results

JEM 5.1.0 applies the effective event and venue age classification when calculating counts and Top N results. A restricted event can therefore disappear from both the list and the displayed count for a registered user who is outside the permitted range.

The Types module does not display an age badge itself. Age classification affects whether the event is counted and listed.

Related Frontend Views

ViewRelationship with this module
Type Events The destination page used by every type link and View all events link.
Event Details The destination of event links displayed in Top N mode.
Events List Provides a broader list which can contain several event types.
Search Can expose event type as an event filtering criterion.
Day Timeline Can display type information as part of an event's visual classification.

Source Code And GitHub References