JoomCourses provides several page types for your website visitors. Each page type can be linked through Joomla menu items to build your course browsing experience.
Available Menu Item Types
When creating a Joomla menu item, select JoomCourses to see the available page types:
| Menu Item Type | Description |
|---|---|
| Categories | Displays a list of course categories |
| Courses | Lists courses within a category |
| Course | Shows a single course's detail page |
| Calendar | Displays course dates in a calendar format |
| Sessions | Shows a list of sessions |
| Cart | The shopping cart and checkout page |
| Tutors | Lists all tutors/instructors |
| Tutor | Shows an individual tutor's profile and courses |
| My Applications | Shows the logged-in user's booking history |
| Application | Shows details of a specific booking |
| Content | Displays course content/learning materials |
Creating Menu Items
- Go to Menus in the Joomla admin and select your site menu.
- Click New to create a menu item.
- Click the Menu Item Type selector.
- Choose JoomCourses and select the desired page type.
- Configure the options specific to that page type.
- Save the menu item.
Page Types in Detail
Categories Page
Displays a hierarchical view of your course categories. Users can click a category to see its courses.
Display options:
- Shows category title, description, and image
- Supports subcategory display (nested categories)
- Uses card layout (vertical or horizontal)
Courses List Page
Shows all courses within a selected category. This is typically the main course browsing page.
Display options (configured in Component Settings > Courses View):
| Setting | Options |
|---|---|
| Show Headings | Show or hide table/list headings |
| Show Pagination Limit | Show or hide the "items per page" selector |
| Show Buttons | "Read More" only, "Book Now" only, or both |
| Sort Order | Most recent, oldest, alphabetical, reverse alpha, most hits, least hits, random, or custom order |
| Show Subcategories | Display subcategories above the course list |
Each course in the list shows:
- Course title and image
- Intro text (short description)
- Available course dates with pricing
- Tags
- "Read More" and/or "Book Now" buttons
Course Detail Page
Shows the full details of a single course, including:
- Course title and full description
- Featured image
- Course dates table (with dates, capacity, availability, location, pricing)
- Session details (if enabled)
- Tags and metadata
- Custom fields
- "Book Now" buttons for each available course date
- Experience level and group (if enabled)
Configurable course date table columns (in Component Settings > Course Dates Table):
| Column | Show/Hide |
|---|---|
| Capacity | Total seats |
| Availability | Remaining seats |
| Sessions Description | Session schedule details |
| Location | Venue name |
Configurable course information fields (in Component Settings > Course Information):
| Field | Show/Hide |
|---|---|
| Category | Course category |
| Tags | Assigned tags |
| Experience Level | Difficulty level |
| Group | Target audience |
| URL | External link |
| Reference Number | Internal code |
Calendar Page
Displays course dates and sessions visually.
Sessions Page
Lists upcoming sessions in a table or expandable list format. Useful as an alternative to the calendar for users who prefer a text-based schedule view.
Cart Page (Required)
The shopping cart and checkout page. Normally you create one cart menu item and link to it from course pages.
Tutors List Page
Displays all active tutors/instructors on your site.
Layout options (configured in Component Settings > Tutor Courses Layout):
| Setting | Description |
|---|---|
| Layout | Grid (card-based) or List view |
| XS/SM/MD/LG/XL Columns | Number of columns at each screen breakpoint (grid layout only) |
Individual Tutor Page
Shows a tutor's profile with:
- Name and contact details
- List of courses they teach
- Course dates and tags
- Custom field data
My Applications Page
A logged-in user's personal booking dashboard showing:
- All their course registrations
- Application status (Submitted, Pending, Paid, etc.)
- Course date details
- Session information
This page requires the user to be logged in. If not logged in, they are redirected to the login page.
Application Detail Page
Shows full details of a specific booking:
- Registrant's personal information
- Course and session details
- Payment method
- Application status
- Additional attendees (if applicable)
Access is restricted to the booking owner (matched by user ID or guest email token).
Content Page
Displays course content or learning materials. Shows:
- Content title and description
- Intro and full text
- View count (hits)
- Custom fields
Typical Site Structure
Here's a recommended menu structure for a training website:
Main Menu
├── Courses (Categories view — shows all categories)
├── Calendar (Calendar view — visual schedule)
├── Our Instructors (Tutors view — team page)
├── My Bookings (My Applications — user dashboard)
└── Cart (Cart view — checkout)
For course detail pages, you typically don't need separate menu items — they are accessed by clicking through from the courses list.
URL Routing
JoomCourses generates clean URLs for all pages:
- Category:
/your-menu-alias/category-alias - Course:
/your-menu-alias/course-alias - Cart:
/your-menu-alias/cart - Tutor:
/your-menu-alias/tutor-name
The router automatically creates SEO-friendly URLs based on your menu structure and item aliases.
Responsive Design
All frontend views are responsive and adapt to different screen sizes:
- Course listings use card layouts that stack on mobile
- Tables use responsive wrappers for horizontal scrolling on small screens
- The tutor grid adjusts columns based on the responsive column settings
- The calendar switches to compact views on mobile devices