JoomCourses includes several Joomla plugins that extend its functionality. All plugins are installed automatically with the JoomCourses package and can be managed through Joomla's Plugin Manager.
Managing Plugins
To enable, disable, or configure any plugin:
- Go to System > Plugins in the Joomla admin.
- Search for "JoomCourses" to find all related plugins.
- Click on a plugin to open its settings.
- Set Status to Enabled or Disabled.
- Configure the plugin options.
- Save.
System Plugin — JoomCourses
Plugin name: System - JoomCourses
Purpose
This plugin provides demo mode protection for the entire site. When demo mode is enabled in the component settings, this plugin intercepts and blocks all write operations for non-Super-Admin users.
Configuration
| Setting | Description |
|---|---|
| Redirect Message | The message shown when a blocked action is attempted. Default: "This is a demo website, you can't modify content." |
How It Works
- Runs on every page load (after Joomla routing).
- Checks if demo mode is enabled in JoomCourses configuration.
- If the current user is a Super Administrator, all actions are allowed.
- For all other users, write operations (save, delete, publish, etc.) are blocked.
- Blocked users are redirected back to the previous page with the configured warning message.
User Plugin — JoomCourses
Plugin name: User - JoomCourses
Purpose
Synchronizes data between Joomla user profiles and JoomCourses contact records. This ensures that when users register on your site or update their profile, their JoomCourses contact information stays in sync.
What It Does
| Event | Action |
|---|---|
| User Registration | Creates a JoomCourses contact record with the profile fields captured during registration |
| Profile Update | Updates the matching JoomCourses contact record when a user edits their Joomla profile |
| User Deletion | Removes the associated JoomCourses contact record when a Joomla user is deleted |
| Form Display | Adds JoomCourses profile fields (salutation, company, address, etc.) to Joomla's user registration and profile edit forms |
Configuration
The plugin allows you to control which profile fields appear on Joomla's registration and profile forms. Each field can be:
- Enabled — Shown on the form
- Disabled — Hidden from the form
- Required — User must fill it in
Available profile fields:
| Field | Description |
|---|---|
| Salutation | Mr., Ms., Mrs., etc. |
| First Name | User's first name |
| Last Name | User's last name |
| Phone | Phone number |
| City | City |
| Address | Street address |
| Country | Country |
| VAT Number | VAT registration number |
| Identification Number | ID number |
| Website | Personal/professional website |
| Company | Company or organization name |
Guest Checkout Integration
When guest checkout is used and the guest later creates an account with the same email address, the plugin links the existing guest contact record to the new user account rather than creating a duplicate.
Search Plugin — JoomCourses
Plugin name: Search - JoomCourses
Purpose
Integrates JoomCourses courses into Joomla's legacy search component. When users search your site using the built-in search module, published courses appear in search results.
What Gets Searched
- Course title
- Course intro text
- Course full text
Configuration
| Setting | Description | Default |
|---|---|---|
| Search Limit | Maximum number of results returned | 50 |
| Search Content | Include published course content | Yes |
| Search Archived | Include archived course content | Yes |
Features
- Respects user access levels (users only see courses they have permission to view)
- Supports language filtering on multilingual sites
- Results include the course title, description, and a link to the course detail page
- Supports sorting by: alphabetical, category, popularity, newest, oldest
Smart Search Plugin — JoomCourses (Finder)
Plugin name: Smart Search - JoomCourses
Purpose
Provides advanced indexing for Joomla's Smart Search (com_finder) system. This is the modern search system in Joomla that offers better performance and more features than the legacy search.
What Gets Indexed
- Course title and alias
- Intro text and full text
- Meta keywords and meta description
- Course images
- Custom field values
- Author and creation date
Taxonomy Data
The plugin adds courses to Smart Search with proper categorization:
- Content Type — JoomCourses Course
- Author — Course creator
- Category — Course category
- Language — Course language
How It Works
- Automatically indexes new courses when they are saved.
- Updates the index when courses are edited.
- Removes courses from the index when they are deleted or unpublished.
- Handles category access changes (reindexes when a category's access level changes).
When to Use
Enable this plugin if you use Joomla's Smart Search module on your site. It provides better search results than the legacy search plugin, including:
- Faceted search (filter by category, type, etc.)
- Better relevance ranking
- Automatic index updates
You can use both search plugins simultaneously, or just one based on which search module you use on your site.
Payment Plugins
PayPal Payment Plugin
Plugin name: JoomCourses - PayPal Payment
Allows customers to pay for course bookings through PayPal.
Invoice Request Plugin
Plugin name: JoomCourses - Request Invoice
Allows customers to request an invoice instead of paying online.
Plugin Activation Recommendations
| Plugin | Recommended | Notes |
|---|---|---|
| System - JoomCourses | Enable only if using demo mode | Blocks write actions when demo mode is active |
| User - JoomCourses | Always enable | Keeps user and contact data synchronized |
| Search - JoomCourses | Enable if using legacy search | For the basic Joomla search module |
| Smart Search - JoomCourses | Enable if using Smart Search | For the modern Joomla search module |
| PayPal Payment | Enable if accepting PayPal | Required for PayPal checkout |
| Request Invoice | Enable if offering invoicing | Required for invoice-based checkout |
Tips
- Enable the User plugin immediately after installation to ensure user profiles sync correctly.
- Choose one search plugin that matches the search module you use on your site, or enable both for maximum compatibility.
- Only enable the System plugin if you are actively using demo mode, as it adds processing to every page load.
- Test payment plugins in sandbox/test mode before enabling them for real transactions.