Select your language

Courses component documentation

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

  1. Download the Component
    • Download the Mx Courses component package (.zip file with component, module and plugin)
  2. 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
  3. Verify Installation
    • Navigate to Components → Mx Courses in the admin menu
    • You should see the Courses management interface
  4. Database Tables
    • The installation process automatically creates the required database tables:
      • jos_mxcourses_items (course items)
      • jos_mxcourses_purchases (purchase records)

Initial Setup & Configuration

Accessing Component Settings

  1. Go to Components → Mx Courses in the administrator menu
  2. 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

  1. Navigate to Components → Categories
  2. Select Mx Courses from the extension dropdown (if needed)
  3. Click New
  4. Fill in category details:
    • Title: Category name (e.g., "Web Development")
    • Alias: URL-friendly name
    • Description: Category description (optional)

Assigning Courses to Categories

  1. Edit a course
  2. In the Category dropdown, select the appropriate category
  3. Save the course

Organizing Category Hierarchy

Categories support a parent-child structure:

  1. Create a parent category (e.g., "Programming")
  2. Create subcategories (e.g., "Web Development", "Desktop Apps")
  3. When creating subcategories, select the parent category from Parent field

Managing Courses (Items)

Creating a New Course

  1. Navigate to Components → Mx Courses → Items
  2. Click the New button
  3. 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

  1. Navigate to Components → Mx Courses → Items
  2. Click on the course title to edit
  3. Modify the details as needed
  4. Click Save or Save & Close

Publishing/Unpublishing Courses

Individual Course

  1. Click on the course to edit
  2. Set the Status to Published (green checkmark) or Unpublished
  3. Click Save

Bulk Actions

  1. In the Items list view, select one or more courses using checkboxes
  2. 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)

  1. Select the course(s) to delete
  2. Click the Trash button or select from Status dropdown
  3. Courses move to trash but can be recovered

Permanent Delete

  1. Navigate to courses in Trash state
  2. Select the course(s)
  3. Click Delete button
  4. Confirm deletion

 

Configuring Payment & Purchases

PayPal Setup

Sandbox Mode (Testing)

  1. Go to Components → Mx Courses → Options
  2. Click the Buy & Rating tab
  3. Enable Enable Buying
  4. Set Payment Mode to Sandbox
  5. Enter your Sandbox PayPal Email
  6. Set Currency (usually USD for testing)
  7. Click Save

To get Sandbox credentials:

Live Mode (Production)

  1. Go to Components → Mx Courses → Options
  2. Click the Buy & Rating tab
  3. Set Payment Mode to Live
  4. Enter your PayPal Business Email (verified PayPal account)
  5. Set Currency to your desired currency
  6. Click Save

Important: Only switch to Live mode after thorough testing in Sandbox mode.

Managing Purchases

Track all customer purchases:

  1. Navigate to Components → Mx Courses → Purchases
  2. 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

  1. The mod_mx_course module is installed with the component
  2. Navigate to Extensions → Modules in the admin panel
  3. 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:

  1. Edit the module
  2. Click the Menu Assignment tab
  3. 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:

  1. Click "Buy Course" button
  2. Confirm course details
  3. Redirected to PayPal checkout
  4. Complete PayPal payment
  5. Return to site with purchase confirmation
  6. Access course materials (if applicable)

For Free Courses:

  1. Click "Enroll" button (if enabled)
  2. Instant enrollment as registered user

Leaving Reviews & Ratings

If rating is enabled:

  1. On course detail page, scroll to rating section
  2. Click desired star rating (1-5 stars)
  3. Optionally add a review comment
  4. 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)

Related Items