Mx Courses is a comprehensive Joomla component designed to create, manage, and sell online courses.
Introduction
- Course Management: Create and organize unlimited courses with descriptions, images, and pricing
- Category System: Organize courses into logical categories
- E-Commerce Integration: Accept payments via PayPal (Sandbox and Live modes)
- Rating System: Allow customers to rate and review courses
- Module Display: Showcase courses across your site using customizable module templates
- Purchase Tracking: Keep track of all course purchases and transactions
- Instructor Profiles: Add instructor image, name, and description to each course
- Course Metrics: Display lesson counts and student enrollment numbers
- Flexible Display Options: 21 different display styles for course presentation
Installation
System Requirements
- Joomla 4 or later
- PHP 7.0 or higher
- MySQL 5.5+ or PostgreSQL 9.5+
Installation Steps
- Download the Component
- Download the Mx Courses component package (.zip file with component, module and plugin)
- Install via Joomla
- Log in to your Joomla administrator panel
- Navigate to System → Install, Upgrade, Extensions
- Click Upload Package File tab
- Select the downloaded Mx Courses zip file
- Click Upload & Install
- Verify Installation
- Navigate to Components → Mx Courses in the admin menu
- You should see the Courses management interface
- Database Tables
- The installation process automatically creates the required database tables:
jos_mxcourses_items(course items)jos_mxcourses_purchases(purchase records)
- The installation process automatically creates the required database tables:
Initial Setup & Configuration
Accessing Component Settings
- Go to Components → Mx Courses in the administrator menu
- Click the Options button in the toolbar (top right)
Configuration Sections
Basic Settings
| Setting | Description | Default |
|---|---|---|
| SEF URLs | Use Joomla's Search Engine Friendly URLs | Off |
| Date Format | Format for displaying dates (e.g., "F j, Y") | F j, Y |
Media & Thumbnail Settings
Configure how course thumbnails are generated and displayed:
| Setting | Description | Default |
|---|---|---|
| Crop Position | Where to crop images (Center, Top-Left, Top-Right) | Center |
| Square Thumbnail Size | Dimensions for square thumbnails | 600x600px |
| Rectangle Thumbnail Size | Dimensions for rectangular thumbnails | 600x400px |
| Tower Thumbnail Size | Dimensions for tower/tall thumbnails | 600x800px |
| Reset Thumbnails | Button to regenerate all thumbnails | - |
Buy & Rating Options
Enable e-commerce and rating features:
| Setting | Description | Default |
|---|---|---|
| Enable Buying | Allow customers to purchase courses | Off |
| Payment Mode | Sandbox (testing) or Live (production) | Sandbox |
| Sandbox PayPal Email | Your PayPal sandbox test email | - |
| Live PayPal Email | Your PayPal business email for payments | - |
| PayPal Currency | Currency code (USD, EUR, GBP, etc.) | USD |
| Enable Rating | Allow customers to rate courses | Off |
| Rating Permission | Who can rate: Everyone or Buyers Only | Buyers Only |
| Show Free Courses | Display courses with no price | Off |
Permissions
Set user access levels for managing courses and viewing purchases:
- Core management permissions
- View permissions for different user groups
Managing Categories
Categories help organize courses logically for better navigation.
Creating a Category
- Navigate to Components → Categories
- Select Mx Courses from the extension dropdown (if needed)
- Click New
- Fill in category details:
- Title: Category name (e.g., "Web Development")
- Alias: URL-friendly name
- Description: Category description (optional)
Assigning Courses to Categories
- Edit a course
- In the Category dropdown, select the appropriate category
- Save the course
Organizing Category Hierarchy
Categories support a parent-child structure:
- Create a parent category (e.g., "Programming")
- Create subcategories (e.g., "Web Development", "Desktop Apps")
- When creating subcategories, select the parent category from Parent field
Managing Courses (Items)
Creating a New Course
- Navigate to Components → Mx Courses → Items
- Click the New button
- Fill in the course details:
Required Fields
| Field | Description | Notes |
|---|---|---|
| Title | Course name | Displayed to visitors |
| Alias | URL-friendly name | Auto-generated from title if left blank |
| Description | Detailed course description | Supports HTML content |
| Category | Course category | Select from existing categories |
| Instructor Name | Course instructor full name | Displayed on course detail pages |
| Instructor Description | Short biography or profile description for the instructor | Supports HTML formatting |
Media Fields
| Field | Description | Recommended Size |
|---|---|---|
| Image | Main course image | 1170 x 800 pixels |
| Instructor Image | Profile image for the course instructor | Recommended avatar size, e.g. 300 x 300 pixels |
Pricing & Details
| Field | Description | Notes |
|---|---|---|
| Price | Course price | Leave blank for free courses |
| Intro Text | Short course description | Shows in course listings |
| Language | Select language | For multilingual sites |
| Number of Lessons | Total lessons or modules included in the course | Displayed on course summary/detail pages |
| Number of Students | Enrolled student count for the course | Displayed as a popularity metric |
| Created Date | Course publication date | Used for sorting |
Display Options
| Field | Description | Options |
|---|---|---|
| Image Layout | How images are cropped | Square, Rectangle, Tower |
| Item Height | Height of displayed items | Example: 450px |
| Show Read More | Display "Read More" button | Yes / No |
| Round Corners | Enable rounded corners | Yes / No |
Editing a Course
- Navigate to Components → Mx Courses → Items
- Click on the course title to edit
- Modify the details as needed
- Click Save or Save & Close
Publishing/Unpublishing Courses
Individual Course
- Click on the course to edit
- Set the Status to Published (green checkmark) or Unpublished
- Click Save
Bulk Actions
- In the Items list view, select one or more courses using checkboxes
- Click the Status dropdown and select:
- Publish - Make visible
- Unpublish - Hide from public
- Archive - Move to archive
- Trash - Delete (can be recovered)
Deleting Courses
Soft Delete (Trash)
- Select the course(s) to delete
- Click the Trash button or select from Status dropdown
- Courses move to trash but can be recovered
Permanent Delete
- Navigate to courses in Trash state
- Select the course(s)
- Click Delete button
- Confirm deletion
Configuring Payment & Purchases
PayPal Setup
Sandbox Mode (Testing)
- Go to Components → Mx Courses → Options
- Click the Buy & Rating tab
- Enable Enable Buying
- Set Payment Mode to Sandbox
- Enter your Sandbox PayPal Email
- Set Currency (usually USD for testing)
- Click Save
To get Sandbox credentials:
- Visit PayPal Developer Sandbox
- Create a business test account
- Use the business email provided in sandbox
Live Mode (Production)
- Go to Components → Mx Courses → Options
- Click the Buy & Rating tab
- Set Payment Mode to Live
- Enter your PayPal Business Email (verified PayPal account)
- Set Currency to your desired currency
- Click Save
Important: Only switch to Live mode after thorough testing in Sandbox mode.
Managing Purchases
Track all customer purchases:
- Navigate to Components → Mx Courses → Purchases
- View the list of all purchases:
- Customer Name
- Course Title
- Purchase Date
- Amount Paid
- Payment Status
Understanding Purchase Status
- Pending: Payment received but not yet confirmed
- Completed: Payment confirmed, customer has access
- Failed: Payment transaction failed
- Refunded: Payment has been refunded
Module Display Settings
The Mx Courses module displays courses throughout your site.
Installing the Module
- The mod_mx_course module is installed with the component
- Navigate to Extensions → Modules in the admin panel
- Click New to create a new module instance
Module Configuration
Basic Settings
| Setting | Description |
|---|---|
| Title | Module title shown to visitors |
| Show Title | Display the module title |
| Position | Where to place the module (depends on your template) |
| Status | Published/Unpublished |
Module Parameters
| Parameter | Description | Options |
|---|---|---|
| Display Style | Module layout template | Style 1-21 |
| Number of Courses | How many courses to display | 3, 6, 9, 12, etc. |
| Category | Limit to specific category | All, or select category |
| Image Layout | Image style (Square/Rectangle/Tower) | Square / Rectangle / Tower |
| Item Height | Height of course items | 300px, 400px, 450px, etc. |
| Show Price | Display course price | Yes / No |
| Show Rating | Display course rating | Yes / No |
| Show Read More | Display read more link | Yes / No |
Available Display Styles
Choose from 21 different module layouts:
Experiment with different styles to find the best look for your site.
Assigning Module to Menu Pages
To display the module only on specific pages:
- Edit the module
- Click the Menu Assignment tab
- Select:
- On all pages: Display everywhere
- On pages where: Display only on selected pages
- On pages where NOT: Hide on selected pages
Frontend Features
Customer View
Course Listing Page
Customers see:
- Course title and thumbnail image
- Brief description (intro text)
- Instructor name, description, and profile image
- Lesson count and student enrollment numbers
- Price (if set)
- Rating and reviews (if enabled)
- "Read More" or "Buy Now" button
Course Detail Page
When viewing a full course:
- Complete course description
- Full-size course image
- Detailed information
- Price and "Buy Course" button (if enabled)
- Average rating and customer reviews
Purchasing a Course
For Paid Courses:
- Click "Buy Course" button
- Confirm course details
- Redirected to PayPal checkout
- Complete PayPal payment
- Return to site with purchase confirmation
- Access course materials (if applicable)
For Free Courses:
- Click "Enroll" button (if enabled)
- Instant enrollment as registered user
Leaving Reviews & Ratings
If rating is enabled:
- On course detail page, scroll to rating section
- Click desired star rating (1-5 stars)
- Optionally add a review comment
- Submit rating
Permission Rules:
- Everyone: Any visitor can rate (only for logged users)
- Buyers Only: Only customers who purchased the course can rate
Search Integration
If Joomla Search is enabled:
- Courses appear in site search results
- Search includes title, description, and intro text
- Component has Finder plugin for advanced search
Troubleshooting
Common Issues & Solutions
Courses Not Appearing on Site
Problem: Courses configured but not visible in module
Solutions:
- Check course Status is set to Published
- Verify module is Published
- Check module Menu Assignment includes current page
- Clear Joomla cache (System → Cache → Delete All)
- Verify category assignment if filtering by category
Images Not Displaying
Problem: Course images show as broken or missing
Solutions:
- Check image file exists in server
- Verify image path in database
- Reset thumbnails (Components → Mx Courses → Options → Media → Reset Thumbnails)
- Check image file permissions (should be readable)
- Try uploading image again
PayPal Payments Not Working
Problem: "Buy Course" button not working or payment fails
Solutions:
- Verify Enable Buying is turned ON
- Check PayPal email is correct
- Test in Sandbox mode before going Live
- Verify IPN (Instant Payment Notification) settings in PayPal
- Check server error logs for PayPal IPN errors
- Ensure SSL certificate if in Live mode
Thumbnails Not Generated
Problem: Custom thumbnails don't appear or look wrong
Solutions:
- Go to Options → Media tab
- Click Reset Thumbnails button
- Wait for process to complete
- Check Thumbnail Style setting on each course
- Verify image meets minimum size requirements
Database Error on Installation
Problem: Installation fails with database error
Solutions:
- Verify database user has CREATE/ALTER TABLE permissions
- Check MySQL/PostgreSQL version compatibility
- Ensure database prefix doesn't conflict with existing tables
- Try uninstalling and reinstalling component
- Check Joomla system logs for specific errors
FAQ
General Questions
Q: Can I have different prices for different user groups?
A: The component supports one price per course. For advanced pricing, consider using additional Joomla commerce plugins.
Q: What payment methods are supported?
A: Currently, PayPal is the primary payment method. Additional payment gateways require custom development.
Q: Can I offer course discounts or coupons?
A: Base component doesn't include discount functionality. Third-party extensions may provide this feature.
Technical Questions
Q: Does the component support multiple languages?
A: Yes, it's fully multilingual compatible. Create courses in different languages using the Language field.
Q: Can I export course data?
A: Export functionality can be accessed through Joomla's component tools or database directly (MySQL/PostgreSQL).
Q: Is there an API for integrating with external systems?
A: The component uses Joomla's standard MVC architecture. Custom API endpoints require custom development.
Customization Questions
Q: Can I customize the module display templates?
A: Yes, module templates are in /modules/mod_mx_course/tmpl/. Edit style files to customize layouts.
Q: How do I add custom fields to courses?
A: Modify the XML form definition files in /admin/models/forms/item.xml.
Q: Can I modify the purchase process?
A: Yes, edit site controller and IPN handler in /site/controller.php.
Performance Questions
Q: Will this component slow down my site?
A: No, it's optimized for performance. Use Joomla caching for best results.
Q: How many courses can I create?
A: Unlimited. Performance depends on server resources and caching strategy.
Support & Resources
- Support Email:
- Updates: Available through the Joomla Update Server (one year from the purchase date)
