JEM Basic Module

The JEM Basic Module displays a compact and configurable list of JEM events in a Joomla site-module position. It is suitable for sidebars, home pages, dashboards, category landing pages and simple upcoming or archived event lists.

Overview

The Basic Module retrieves events from JEM, applies the configured date, category and venue filters, and renders the result through one of its supplied layouts. It can show event titles, dates, venues, categories, country flags, links to JEM pages, links to associated Joomla articles and configurable event-status indicators.

The module is intentionally compact and does not display event images. For image-based event promotion, use the JEM Banner, Teaser, Jubilee or Wide module.

Access control: the module uses the current visitor's Joomla/JEM access context. Restricted content is not exposed as a public event detail page. Depending on the configured access workflow, a protected event link can lead to the Joomla login page.

Current Compatibility

JEM versionStatusJoomlaDocumentation scope
JEM 5.0.1 Stable Joomla 5.x and 6.x Primary reference for the options and examples in this article.
JEM 5.0.2 Beta 1 Maintenance beta Joomla 5.x and 6.x Uses the same Basic Module options and adds temporary compatibility plus guided migration for legacy module CSS filenames.
JEM 5.1.0 Beta 4 Development beta Joomla 5.x and 6.x Includes additional development features described separately in the appendix.

JEM 5.x requires PHP 8.3 or newer. Always check the system requirements of the exact package before updating a production website.

Module Identification

Joomla module type JEM - Basic Module
Extension name mod_jem
Joomla location System → Manage → Site Modules
Frontend output Compact list or table of JEM events

Requirements

  • JEM must be installed and enabled.
  • At least one matching published event is required for upcoming or unfinished lists.
  • Archived events are returned only when Events Display-Type is set to Archived Events.
  • Category and venue filters require existing JEM categories and venues.
  • The More information action requires an event associated with a published Joomla article that the current visitor can access.
  • Status indicators must be enabled globally under JEM Basic Settings and enabled for the module instance.

Creating the Module

  1. Open System → Manage → Site Modules.
  2. Select New and choose JEM - Basic Module.
  3. Enter a module title and select a template position.
  4. Configure the JEM options described below.
  5. Select the menu assignments and Joomla access level.
  6. Set the module status to Published and save it.

Standard Joomla Module Settings

These Joomla settings control where the module is displayed and who can see the module itself.

OptionPurposeTypical value
Title / Show Title Names the module and optionally displays its heading. Upcoming Events
Position Selects the active template position. Sidebar, footer or home-page position
Status Publishes or unpublishes the module. Published
Access Defines which Joomla viewing levels can see the module. Public or Registered
Menu Assignment Defines the pages on which Joomla renders the module. All pages or selected event-related pages

Options Tab

Event Selection

OptionDefaultDescription
Events Display-Type Upcoming Events Selects upcoming, unfinished or archived events. See the detailed behaviour below.
Events in module 5 Maximum number of events returned after all filters and access rules have been applied.
Show “No events” Yes Displays the translated No events found message when the result is empty. When disabled, the module returns no output.
Highlight Featured No Adds the layout's featured-event presentation, normally bold text or the highlight_featured CSS class.
Time offset (in hours) Empty / 0 Moves the selection threshold forward with a positive value or backward with a negative value. It applies only to upcoming and unfinished events.
Categories All Limits results to one or more selected JEM categories. Leave empty to include all categories available to the visitor.
Venues All Limits results to one or more selected JEM venues. Leave empty to include every available venue.

Events Display-Type

ValueBehaviourTypical use
Upcoming Events Shows published events whose start is later than the current offset-adjusted threshold. Results are ordered from the next start date forwards. Standard next-events list
Unfinished Events Shows published events whose start or end remains after the threshold. This can include events that are already running. Current and upcoming programme
Archived Events Shows archived events, ordered from the most recent event backwards. The time offset does not apply. Past-event or archive block
Offset examples: use 168 with Upcoming Events to start the list one week in the future. Use a small negative value with Unfinished Events when recently completed events should remain visible for a short grace period.

Content and Display Order

OptionDefaultDescription
Display Order Title, Date, Venue Chooses one of the six possible orders for the title, date and venue blocks. The category, when enabled, is rendered after those primary blocks.
Max. Title length 30 Shortens longer event titles and appends an ellipsis. Increase it for wide positions and reduce it for narrow sidebars.
Title Yes Shows or hides the event title.
Venue Title Yes Shows the venue name when the event has a venue.
Show Category No Shows the event's assigned categories. Multiple categories are combined in the output.
Show icon country No Shows the configured country flag for the event venue when country data and the corresponding flag image are available.

Display Order Values

Title, Date, Venue
Default
Title, Venue, Date
Venue, Title, Date
Venue, Date, Title
Date, Title, Venue
Date, Venue, Title

Links and Destination Layouts

OptionDefaultDescription
Link to event on Date Selects whether the event page is linked from the date, from the title or not linked.
Event block layout Joomla/JEM default Optionally opens the event using the Details or Compact event block. Leave it at Default to use the destination menu and global configuration.
Venue block layout Joomla/JEM default Optionally opens the venue section of the linked event using Details or Compact. This option is added to the event route; it does not change the module's own layout.
Link to Venue Yes Links the displayed venue name to its JEM venue page. It is available when Venue Title is enabled.
Link to Category Yes Links displayed category names to their JEM category pages. It is available when Show Category is enabled.
Do not confuse the two layout levels: Alternative Layout changes the presentation of the module itself. Event block layout and Venue block layout change the destination page opened by an event link.

Associated Joomla Article

OptionDefaultDescription
Show More Information Yes (link) Shows a text link, a button or nothing when the event has an accessible associated Joomla article.
Show More Information Title No Appends the associated article title to the More information text.

The supplied default layout renders the More information action. A custom or alternative layout must include the corresponding output if it should display that action.

Date and Time Formatting

OptionDefaultDescriptionExamples
Date format D, j. F Y PHP date format used by the module. When empty, JEM falls back to the configured short-date format and then to the language default. j M Y, D, j F Y, Y-m-d
Time format Empty PHP time format used by the module. When empty, the component format and its configured time suffix are used. H:i, g:i a

See the PHP date and time format reference for the available format characters.

Intro and Footer Text

OptionDefaultDescription
Show intro text No Enables the editor content rendered immediately before the module layout.
Intro text Empty Safe HTML content displayed above the event list.
Show footer text No Enables the editor content rendered immediately after the module layout.
Footer text Empty Safe HTML content displayed below the event list, for example a link to the complete calendar.

Advanced Tab

OptionDefaultDescription
Alternative Layout default Selects a supplied Basic Module layout or a valid layout override from the active Joomla template.
Show status indicators Yes Allows this module instance to display the indicators enabled globally in JEM Basic Settings. The Basic Module places the single highest-priority indicator beside the event title.
Module Class Suffix Empty Adds a validated CSS class suffix for instance-specific template styling.
Caching Use Global Uses Joomla's global module cache or disables caching for this module.
Cache Time 900 seconds Defines how long Joomla can reuse the cached module output. Reduce it when event changes must appear sooner.

Status Indicators

JEM displays at most one indicator for each event. Event status has the highest priority, followed by booking availability, New and Open. The global JEM settings decide which indicators are active; the module option only enables or disables their use in this module instance.

  • Event status: Cancelled, Postponed, Rescheduled or Moved online.
  • Availability: Pre-order, Sold out, Waiting list or Last places when applicable.
  • Lifecycle: New or Open when no higher-priority indicator applies.

Supplied Layouts

LayoutCSS filePurposeNotes
default default.css Compact vertical list. Displays the More information action for associated articles.
responsive responsive.css Flexible list with a calendar icon and responsive content blocks. Good starting point for narrow and variable-width positions.
table table.css Simple structured table output. Best in positions with enough horizontal space.
table-style table-style.css Alternative table presentation. Provides additional module-specific table styling hooks.
table-advanced table-advanced.css Detailed table with event, start date/time, end date/time, optional category and link columns. Designed for wide content areas rather than sidebars.
acymailing acymailing.css Newsletter-oriented event output. Uses simple inline-friendly presentation for integrations and email-oriented layouts.

PHP Layout Overrides

Never edit the PHP files supplied inside modules/mod_jem/tmpl/ on a production website. A JEM update can replace those files.

Copy the required PHP layout to the active Joomla site template:

templates/YOUR_TEMPLATE/html/mod_jem/default.php

A custom layout can use its own filename:

templates/YOUR_TEMPLATE/html/mod_jem/my-events.php

After creating the file, select it under Advanced → Alternative Layout. Keep the override synchronized when a later JEM version changes the original layout contract.

CSS Overrides

For a complete replacement of one module stylesheet, copy the matching supplied CSS file to the active template. The recommended path is:

templates/YOUR_TEMPLATE/css/mod_jem/FILENAME.css

Examples:

templates/cassiopeia/css/mod_jem/default.css
templates/cassiopeia/css/mod_jem/responsive.css
templates/cassiopeia/css/mod_jem/table-advanced.css

CSS Resolution Order

  1. templates/YOUR_TEMPLATE/css/mod_jem/FILENAME.css — recommended template CSS override.
  2. templates/YOUR_TEMPLATE/html/mod_jem/FILENAME.css — supported compatibility location.
  3. media/mod_jem/css/FILENAME.css — module media stylesheet when provided.
  4. modules/mod_jem/tmpl/FILENAME.css — distributed fallback.

The filename must match the stylesheet requested by the selected layout. For example, the responsive layout requests responsive.css, not default.css.

Small Additive Changes

When only a few declarations are required, use the shared module user stylesheet instead of copying a complete layout stylesheet:

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

JEM loads this file after the normal styles of rendered JEM modules. It can therefore contain small site-specific adjustments shared by several JEM modules.

Replacement versus additive CSS: a template file such as templates/YOUR_TEMPLATE/css/mod_jem/default.css replaces the distributed default.css. The jem-user-module.css file is added afterwards. Copy the complete original stylesheet when using the replacement method unless you intentionally want to discard its rules.

Legacy CSS Filenames in JEM 5.0.2 Beta 1

JEM 5.0.1 already supports the current filename convention shown above. JEM 5.0.2 Beta 1 additionally provides temporary fallback support for Basic Module overrides that still use pre-JEM 5 filenames:

Legacy filenameCurrent filename
mod_jem.css default.css
mod_jem_responsive.css responsive.css
mod_jem_table.css table.css
mod_jem_table-style.css table-style.css
mod_jem_table-advanced.css table-advanced.css

The current filename always has priority. JEM can report legacy files in the Control Panel/CSS Manager and offers an explicit migration when the destination is safe. Existing destination files are not overwritten.

Practical Configuration Examples

Example 1: Upcoming Events Sidebar

Use this for a compact list beside normal page content.

  • Events Display-Type: Upcoming Events
  • Events in module: 5
  • Display Order: Date, Title, Venue
  • Title / Venue Title: Yes
  • Show Category: No
  • Link to event on: Title
  • Alternative Layout: responsive
  • Cache Time: 900 seconds
Example 2: Department or Category Programme

Use this on a landing page dedicated to one or more event categories.

  • Events Display-Type: Unfinished Events
  • Categories: Select the department categories
  • Venues: All
  • Show Category / Link to Category: Yes
  • Highlight Featured: Yes
  • Show status indicators: Yes
  • Intro text: Short programme explanation
  • Footer text: Link to the complete events page
Example 3: Venue Schedule

Use this in a wide position on a venue information page.

  • Events Display-Type: Upcoming Events
  • Venues: Select the target venue
  • Events in module: 10
  • Display Order: Date, Title, Venue
  • Venue Title: Optional
  • Link to event on: Title
  • Event block layout: Details
  • Alternative Layout: table
Example 4: Recent Event Archive

Use this to provide a compact history of archived activities.

  • Events Display-Type: Archived Events
  • Events in module: 10
  • Categories: Optional archive scope
  • Display Order: Date, Title, Venue
  • Show More Information: Yes (link)
  • Show More Information Title: Yes
  • Alternative Layout: default

Frontend Behaviour and Limitations

  • Upcoming and unfinished results are ordered from the earliest matching start time forwards.
  • Archived results are ordered from the most recent event backwards.
  • Category, venue and access filters are applied before the configured event limit.
  • Long titles are shortened according to Max. Title length.
  • Venue and category links are generated only when their corresponding display and link options are enabled.
  • The module displays one status badge per event when global and instance-level status indicators are enabled.
  • The supplied module layouts are presentation blocks. The canonical event detail page is responsible for complete Event structured data.
  • Module caching can delay changes to event lists, access results and status indicators until the cache expires.

Troubleshooting

ProblemLikely causeChecks
No events are shown. No matching published events, restrictive filters, access rules or a hidden empty result. Check status, dates, access, category/venue filters, offset and Show “No events”.
An expected running event is missing. The module is using Upcoming Events instead of Unfinished Events, or the offset excludes it. Use Unfinished Events and test with a zero offset.
The venue or category is missing. Its display option is disabled, the event has no corresponding assignment, or the custom layout omits it. Enable Venue Title or Show Category and compare with the supplied default layout.
The More information action is missing. No accessible associated article exists, the option is disabled, or the selected layout does not render it. Check the event article association, article access and the selected layout.
A template CSS override is ignored. Wrong template, path, layout filename, filename case or cached CSS. Confirm templates/TEMPLATE/css/mod_jem/LAYOUT.css, then clear Joomla, browser and optimisation caches.
The PHP layout override is not listed. The file is outside the active template's module override directory or has an invalid filename. Place it in templates/TEMPLATE/html/mod_jem/ and reopen the module editor.
Changes appear late. Joomla module caching, template caching, CDN caching or browser caching. Temporarily disable module caching and clear every active cache layer.
Status indicators are absent. The global master switch, the specific status or the module option is disabled. Review JEM Basic Settings and Advanced → Show status indicators.

Appendix: What Is New in JEM 5.1.0 Beta 4

Beta notice: JEM 5.1.0 Beta 4 is a development release. Test it on a staging website and keep a full backup before using it with production data.

Event Hierarchy Filter

JEM 5.1.0 Beta 4 adds the Event hierarchy option to the Basic Module. It controls how parent events and programme items/subevents are included:

ValueBehaviour
Calendar default Uses JEM's normal calendar hierarchy policy.
Parent events only Shows programme containers/top-level events and excludes their child programme items.
Subevents only Shows child programme items and excludes their parent events.
Parent events and subevents Includes both levels in the filtered event list.
Beta example: Conference Programme Items
  • Event hierarchy: Subevents only
  • Events Display-Type: Unfinished Events
  • Categories: Conference programme
  • Display Order: Date, Title, Venue
  • Alternative Layout: table-advanced

Current-Only Runtime CSS Names

JEM 5.1.0 uses the current layout filenames at runtime and does not retain the temporary legacy-filename fallback provided by JEM 5.0.2. Its Control Panel/CSS Manager detects known legacy module files and offers an explicit migration to the corresponding current filename. It verifies the copied content, does not overwrite an existing destination and reports conflicts or unwritable locations.

Structured Data Responsibility

The supplied Basic Module layouts no longer emit incomplete per-item Event microdata. Complete canonical Event structured data belongs to the JEM event detail page, where the full event, location and scheduling context is available.

Related Documentation

GitHub References