Joomla Core Components — Contacts, Banners, News Feeds and Search
In this tutorial, you'll learn about Joomla core components — Contacts for managing people and organizations, Banners for advertising, News Feeds for RSS integration, Smart Search for site search, and the Messaging component for internal communication.
What You'll Learn
- What components are and how they provide major site functionality
- The Contacts component: categories, contacts, vCard, and display options
- The Banners component: clients, categories, banners, tracking, and display
- The News Feeds component: managing RSS feeds and display with mod_feed
- The Search component (deprecated) and Smart Search
- Smart Search: indexing content, search filters, and search results page
- The Messaging component: private messaging between site users
- How to organize component content with categories
Why It Matters
Joomla ships with powerful core components that handle common website needs without requiring any third-party extensions. Contacts, Banners, News Feeds, and Search are features that other CMS platforms require plugins for. Mastering these components lets you build richer sites faster and with fewer dependencies.
Real-World Use
A university department builds a Joomla site. They use the Contacts component to list faculty members with photos, phone numbers, and email addresses, organized by department category. The Banners component rotates announcements in the sidebar. The News Feeds component pulls in RSS feeds from the university's main news site. Smart Search lets students find faculty and courses quickly.
Learning Path
flowchart LR A["Extension Manager"] --> B["Core Components
You are here"]:::current B --> C["Plugins"] C --> D["Languages"] D --> E["Essential Extensions"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px
What Are Components?
Components are the largest type of extension in Joomla. They provide the main functionality for a section of your site. When you visit a page, the component renders the primary content area.
Each component has:
- Backend views for managing data (e.g., the list of contacts)
- Frontend views for displaying data to visitors
- Optional helper classes, models, and controllers
Joomla's core components include:
| Component | Menu Alias | Purpose |
|---|---|---|
| com_content | Articles | Core content management |
| com_contact | Contacts | People and organization directory |
| com_banners | Banners | Advertising management |
| com_newsfeeds | News Feeds | RSS feed aggregation |
| com_search | Search | Basic search (deprecated) |
| com_finder | Smart Search | Advanced search engine |
| com_users | Users | User registration and profiles |
| com_messages | Messaging | Private messaging |
| com_tags | Tags | Content tagging |
Contacts Component
The Contacts component (Components > Contacts) lets you manage a directory of people or organizations.
Contact Categories
Contacts are organized into categories, just like articles. Create categories first, then assign contacts to them.
# Steps to create contact categories
# Components > Contacts > Categories
# Click "New" button
# Enter category title (e.g., "Staff", "Faculty", "Departments")
# Set parent category if needed
# Save
Creating Contacts
Once categories exist, create individual contacts:
# Steps to create a contact
# Components > Contacts > Contacts
# Click "New" button
# Enter name, alias, and select category
# Fill in contact fields: address, phone, email, website
# Upload a contact image
# Enable vCard if needed
# Save
Contact fields include:
| Field | Description |
|---|---|
| Name | Contact display name |
| Alias | URL-friendly name |
| Category | Category assignment |
| Contact Image | Photo or logo |
| Address | Street address |
| City / State / Zip | Location |
| Country | Country name |
| Telephone | Phone number |
| Mobile | Mobile phone |
| Fax | Fax number |
| Email address | |
| Website | URL |
| vCard | Enable vCard download |
Displaying Contacts
You can display contacts through menu items:
| Menu Item Type | Description |
|---|---|
| Single Contact | Display one contact's details |
| List All Categories | Show category tree with contact counts |
| List Contacts in a Category | Show all contacts in one category |
| Featured Contacts | Show contacts marked as featured |
| Category List | Compact category listing |
# Create a single contact menu item
# Menus > Main Menu > Add New Menu Item
# Select "Contacts" > "Single Contact"
# Select the contact
# Configure display options
# Save
Contact Display Options
When editing a menu item for contacts, you can configure:
- Show/hide name, position, email, phone, address, etc.
- Show/hide contact image
- Enable vCard download
- Enable contact form (users can send an email via the site)
Banners Component
The Banners component (Components > Banners) manages advertising and promotional banners on your site.
Banner Structure
Banners follow a hierarchy:
Advertiser (Client) → Category → Banners
- Clients: The advertisers (e.g., "Acme Corp", "Local Business")
- Categories: Group banners by type or location (e.g., "Sidebar Ads", "Footer Banners")
- Banners: Individual banner images or HTML code
# Steps to set up banners
# Components > Banners > Clients (add advertiser)
# Components > Banners > Categories (add banner category)
# Components > Banners > Banners (create banner)
# Extensions > Modules > mod_banners (display banner)
Creating a Banner
# Steps to create a banner
# Components > Banners > Banners > New
# Enter banner name
# Select client and category
# Enter banner URL (where the banner links to)
# Upload banner image or enter custom HTML code
# Set click tracking and impression tracking
# Save
Banner Tracking
The Banners component tracks:
- Impressions: How many times the banner was displayed
- Clicks: How many times the banner was clicked
- Strengths: Not the graphic design, but a Joomla metric for banner rotation
Displaying Banners
Banners are displayed using the mod_banners module:
# Steps to display banners
# Extensions > Modules > New > Banners
# Set title and position
# Select client or category to show
# Set number of banners to display
# Configure randomize, rotate, or specific order
# Save
News Feeds Component
The News Feeds component (Components > News Feeds) lets you import and display RSS feeds from other websites.
Feed Categories
Just like contacts and banners, news feeds are organized by categories:
# Steps to create news feed categories
# Components > News Feeds > Categories
# Add categories like "Tech News", "Industry Updates"
Creating a Feed
# Steps to create a news feed
# Components > News Feeds > Feeds > New
# Enter feed name and select category
# Enter the RSS feed URL (e.g., https://example.com/feed.xml)
# Set the number of articles to display
# Set feed caching time (how often to refresh)
# Save
Displaying News Feeds
News feeds can be displayed through menu items or the mod_feed module:
# Display via menu item
# Menus > Add New Menu Item
# Select "News Feeds" > "Single Feed" or "List Feeds in Category"
# Display via module
# Extensions > Modules > New > Feed Display
# Select the feed
# Configure how many items to show and description length
Search Component
The Search component (Components > Search) was the original search system in Joomla. It is deprecated in Joomla 4+ and replaced by Smart Search.
Search worked by querying individual components for matches. It was simple but did not scale well on large sites.
Smart Search (Finder)
Smart Search (Components > Smart Search) is the modern search system. It indexes content into a searchable index and provides fast, relevant results.
How Smart Search Works
- Content is indexed (titles, text, metadata)
- The index stores terms with relevance scores
- When a user searches, the index is queried
- Results are ranked by relevance
# Steps to set up Smart Search
# Components > Smart Search > Index
# Click "Index All" to build the initial index
# Configure search filters
# Create a Smart Search menu item (or use the mod_search module)
Search Filters
Smart Search supports filters that let users narrow results:
| Filter Type | Description |
|---|---|
| Category | Filter by content category |
| Date | Filter by publish date range |
| Author | Filter by content author |
| Type | Filter by content type (article, contact, etc.) |
You create filters from Components > Smart Search > Search Filters.
Displaying Smart Search
Create a menu item type "Smart Search" to show a search results page. Use the mod_search module to add a search box in the header or sidebar.
# Add search box
# Extensions > Modules > New > Search
# Set position, label, and box width
# Select "Redirect to Smart Search" for the search method
# Save
Messaging Component
The Messaging component (Components > Messaging) enables private messaging between site users.
# Access messaging
# Components > Messaging
# Read Private Messages — inbox
# New Private Message — compose message
# Settings — configure message preferences
Messaging is useful for:
- User-to-user communication on membership sites
- Admin notifications to users
- User support conversations
Messages stay within the Joomla site — they are not sent as emails unless configured.
Component Permissions
Each core component has its own permission settings. Go to Components > [Component Name] > Options to configure:
- Who can view, create, edit, delete items
- Who can change states (publish/unpublish)
- Component-specific settings like image size limits or display formats
These permissions work with Joomla's ACL system and can be set per user group.
Common Mistakes
Creating contacts without categories: You add 50 contacts but none are organized into categories. When you need to show "Staff" contacts separately from "Faculty" contacts, you must reorganize everything. Create categories first.
Forgetting the mod_banners module: You create banners in Components > Banners but they do not appear on the site. Banners need the mod_banners module assigned to a position. The component only manages the data; the module displays it.
Not indexing Smart Search after adding content: You add 20 articles but Smart Search cannot find them because the index is outdated. Go to Components > Smart Search > Index and reindex after adding or changing content.
Using the deprecated Search component instead of Smart Search: The old Search component is slow and does not scale. Smart Search provides faster results with better filtering. Use Smart Search for all new sites.
Setting feed cache time too high: You set a news feed to cache for 24 hours. Visitors see old content all day. Set feed cache time to 1-2 hours for news sites or 30 minutes for fast-changing content.
Practice Questions
What is the difference between a component and a module in Joomla? Answer: A component provides the main content for a page (like a contact directory or article). A module displays secondary content in positions around the component (like a login form or banner ad). A page has one component and multiple modules.
Why do banners need both the Banners component and the mod_banners module? Answer: The Banners component manages the data — clients, categories, and banner content. The mod_banners module renders the banners on the frontend. The component is the data layer; the module is the display layer.
How does Smart Search differ from the old Search component? Answer: Smart Search pre-indexes content into a dedicated search index for fast, relevant results with filters. The old Search component queried each component individually at search time, which was slow on large sites. Smart Search replaced Search in Joomla 4.
Challenge: Build a complete staff directory using the Contacts component. Create three contact categories: "Executive Team", "Department Heads", and "Staff". Add at least two contacts per category. Create menu items: one List All Categories page, one page showing contacts for a specific category, and one Single Contact view. Customize the display to show contact images, phone numbers, and email addresses. Enable the contact form on each profile.
FAQ
Mini Project
Your task: Build a complete business directory site using Joomla core components.
- Create a company directory with the Contacts component (at least 5 contacts with images, addresses, and phone numbers).
- Organize contacts into meaningful categories (e.g., "Sales", "Support", "Management").
- Create a banner advertising a company promotion.
- Import a news feed from an industry blog.
- Set up Smart Search with filters for categories and dates.
- Create a menu structure: Home, Directory (Contacts), News (Feeds), Search.
- Display a banner module in the sidebar.
- Enable the search module in the header.
- Test all frontend functionality.
This project simulates a real-world business site built entirely with Joomla's core components — no third-party extensions needed.
What's Next
Now that you understand Joomla's core components, you are ready to learn about plugins:
Continue to Lesson 22: Plugins — Learn about authentication, content, editors, system plugins, and how to configure them.
Related lessons:
- Joomla Extension Manager — Install and manage extensions
- Joomla Articles and Categories — Learn about the com_content component
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro