🏠 Home 🖥️ Hosting 🎨 Themes 🔌 Plugins 🛠️ Dev Tools ⚡ WordPress 🔥 Joomla!
Tutorial

Advanced Module Management and Conditional Display in Joomla 6

Advanced Module Management and Conditional Display in Joomla 6

Affiliate disclosure: This article contains no paid product placements. Where a third-party Joomla extension is mentioned, it is the tool the Joomla community documents for this specific task, not a sponsored recommendation.

Quick Answer

Joomla 6's core Module Manager lets you control where a module appears using Menu Assignment, a Start/Finish Publishing date range, an Access Level, and a Language filter. Joomla does not natively support showing modules by user role, device, category, or geolocation — for that you need a dedicated extension such as Advanced Module Manager, which adds a full Conditions system to every module.

What you'll needDetails
Joomla versionJoomla 6.0 or 6.1 (Super User access to the administrator panel)
Access levelSuper User or a user group with permission to manage Modules and install Extensions
Optional extensionAdvanced Module Manager (free or Pro) by Regular Labs, for conditions beyond menu assignment
Time required10–15 minutes

This guide covers two layers of module control in Joomla 6: the built-in options every install already has, and the extended condition system you get once you add a dedicated module-management extension. It applies to Joomla 6.0 and 6.1; the core Module Manager screens have not changed structurally from Joomla 4/5.

🖼️ [IMAGE NEEDED — HERO] Wide screenshot of the Joomla 6 administrator, Content → Site Modules list view, showing several modules with their Position and Pages columns visible.
Suggested alt text: "Joomla 6 Site Modules list screen showing module positions and page assignments"

Step 1: Open the Module Manager and learn the tabs

In the administrator panel, go to Content → Site Modules. Click an existing module title, or New to create one. Every module edit screen has the same set of tabs: Module (content and layout), Menu Assignment (where it appears), Advanced (caching, module class suffix, tag), and Publishing (status, access, dates, language). Conditional display in core Joomla is split across the Menu Assignment and Publishing tabs — there is no single "Conditions" tab unless you install an extension for it.

🖼️ [IMAGE NEEDED — STEP 1] Screenshot of a module's edit screen with the tab row visible: Module, Menu Assignment, Advanced, Publishing. Circle the tab row in red.
Suggested alt text: "Joomla module edit screen showing Module, Menu Assignment, Advanced, and Publishing tabs"

Step 2: Control visibility by page with Menu Assignment

Open the Menu Assignment tab. The Module Assignment dropdown has four options: On all pages, No pages, Only on the pages selected, and On all pages except those selected. Choosing either of the last two reveals a checklist of every menu item on the site, so you can tie the module to specific pages without touching a template file.

⚠️ Limitation to know upfront

Menu Assignment only works with pages that have a menu item (an Itemid). Pages reached only through an article link, a non-menu module link, or a direct component URL cannot be targeted this way — this is a structural limit of Joomla core, not a bug.

📊 [IMAGE NEEDED — STEP 2] Screenshot of the Menu Assignment tab with "Only on the pages selected" chosen and the menu item checklist expanded below it.
Suggested alt text: "Joomla Menu Assignment tab set to Only on the pages selected with menu checklist"

Step 3: Add a date range and access restriction with Publishing

Open the Publishing tab. Start Publishing and Finish Publishing let you schedule a module to go live and disappear automatically at set date/times — useful for a seasonal banner or a limited-time notice. This is a one-time window, not a recurring schedule (it will not, for example, reappear every weekend on its own). The same tab also has Access Level (show only to a specific user group, such as Registered or a custom group) and Language (show only in one site language on multilingual installs).

🖼️ [IMAGE NEEDED — STEP 3] Screenshot of the Publishing tab with Start Publishing, Finish Publishing, Access, and Language fields all visible and labeled.
Suggested alt text: "Joomla module Publishing tab showing Start Publishing and Finish Publishing date fields"

Step 4: Install an extension for advanced conditions

For rules Joomla core doesn't offer — by category, by user login state, by device type, by geolocation, by component, by template, or by URL pattern — install Advanced Module Manager by Regular Labs. A free version is available on the Joomla Extensions Directory; a Pro version adds more rule types. Go to System → Manage → Install, upload the extension package, and install it. Once installed, it replaces the core Module Manager screen with its own, keeping all your existing modules intact.

🖼️ [IMAGE NEEDED — STEP 4] Screenshot of System → Install Extensions screen with the Advanced Module Manager .zip file selected, ready to upload.
Suggested alt text: "Installing Advanced Module Manager extension via Joomla Upload Package File screen"

Step 5: Build a condition on a module

Edit any module and you'll now see a Conditions tab. Set Display Module to Set Conditions, then add one or more rules — for example, "Users → Logged in" to show a module only to signed-in visitors, or "Devices → Mobile" to show a mobile-only call-to-action. Multiple rules can be combined with AND/OR logic, so you can build something like "show this module if the visitor is on mobile AND is not logged in."

🖼️ [IMAGE NEEDED — STEP 5] Screenshot of the Conditions tab open on a module, with the rule type dropdown expanded showing Categories, Dates, Users, Devices, Geolocation, Components, Templates, URL.
Suggested alt text: "Advanced Module Manager Conditions tab with rule type dropdown open"

Step 6: Save reusable Condition Sets

If several modules need the same rule (for example, "hide on checkout pages"), build it once as a Condition Set instead of re-creating it on every module. Condition Sets can be shared across modules and, in the Regular Labs suite, across other extensions like Content Templater or Conditional Content — so the logic stays in one place if you ever need to update it.

🖼️ [IMAGE NEEDED — STEP 6] Screenshot of the Condition Sets management screen listing 2–3 named sets, e.g. "Mobile visitors", "Logged-in only".
Suggested alt text: "Advanced Module Manager Condition Sets list showing reusable named rule groups"

Step 7: Test every condition before you trust it

Log out and back in under different roles, use your browser's device toolbar to simulate mobile, and clear Joomla's cache (System → Maintenance → Clear Cache) after every condition change — cached pages can make a module appear to ignore a brand-new rule when it's really just serving a stale cached version.

📱 [IMAGE NEEDED — STEP 7] Screenshot of a browser's responsive/device toolbar open on the front-end page, confirming the module shows or hides correctly on a simulated mobile viewport.
Suggested alt text: "Testing conditional module display on a simulated mobile viewport in browser dev tools"

🧯 Common Mistakes to Avoid

  • Leaving Menu Assignment on "On all pages" by default — this is the out-of-the-box setting, and it's easy to forget to narrow it down, causing a module meant for one page to appear site-wide.
  • Not clearing cache after changing a condition — a condition can look "broken" when it's actually just showing a cached page.
  • Expecting Start/Finish Publishing to repeat — it fires once for the date range you set; it will not automatically come back next month or next year.
  • Stacking too many AND/OR rules on one module — complex nested logic is hard to audit later; a Condition Set with a clear name is easier to maintain than five one-off rules buried in different modules.
  • Testing only as a logged-in Super User — conditions based on user group or login state need to be checked from a real Guest or Registered-level session, since Super Users can sometimes bypass display logic in other extensions.

❓ FAQ

Does Joomla 6 let me show a module only to logged-in users without an extension?

Not dynamically. Core Joomla only offers a static Access Level filter (Public, Registered, Special, or a custom group) on the Publishing tab — it doesn't distinguish "logged in" from "not logged in" as a live condition without an extension.

What's the difference between Menu Assignment and Advanced Module Manager conditions?

Menu Assignment is core Joomla's only built-in method and works purely by menu item (page). Advanced Module Manager replaces it with a broader Conditions system covering categories, dates, users, devices, geolocation, components, templates, and URLs.

Is Advanced Module Manager compatible with Joomla 6?

Yes. Regular Labs lists Advanced Module Manager as compatible with Joomla 4, 5, and 6, with both a free and a paid Pro edition available.

Can core Joomla schedule a module to appear every weekend automatically?

No. Start/Finish Publishing is a single, one-time date range. A recurring schedule (like "every Saturday and Sunday") requires a conditions extension with custom logic, not core fields.

Will conditional modules slow down my site?

A handful of conditions add negligible overhead. Performance issues usually come from too many modules loading heavy content per page, not from the condition check itself — clearing cache and testing load times after big changes is still good practice.

Is there a free way to add conditions in Joomla?

Yes — Advanced Module Manager has a free version on the Joomla Extensions Directory that covers the core condition types; the Pro version unlocks additional rules and extras like HTML before/after content.

➡️ What's Next

✅ Last verified on Joomla 6.1.2 — July 2026

Thanh Le
Thanh Le
Joomla Specialist & Technical Writer

Thanh Le is a Joomla expert and technical writer at Jlvextension.com, known for creating in-depth tutorials, extension reviews, and optimization guides. His work focuses on helping developers and webs