Advanced Module Manager

Take control over modules in Joomla!

  • Last updated: 09-Dec-2018
  • Version: 7.9.3
  • Types: Component System plugin
  • Joomla rating: 100%

Tutorial for Advanced Module Manager

There is a Free and a Pro version of Advanced Module Manager.
The parts in this tutorial that only concern the Pro version will be marked with: Pro only

Introduction

Advanced Module Manager is a Joomla! administrator component (combined with a system plugin) that enhances the way your module manager works.

With Joomla! you can normally only assign modules to certain menu items.

With Advanced Module Manager you have the possibility to assign modules to just about anything you want, including Joomla! Content, Users, Components, Templates, Devices and much more, giving you full control over your Joomla modules. In this tutorial we will describe all the assignment options available.

Once Advanced Module Manager is installed, the core Joomla module manager will be replaced with the Advanced Module Manager. The Modules menu link under Extensions will no longer point to option=com_modules but to option=com_advancedmodules.

Advanced Module Manager also offers a few extra features to improve the module manager, like the ability to categorize modules, tag them with colours, as well as adding HTML before/after the module content.

Module Assignments

Assignment Types

Advanced Module Manager comes packed with a multitude of assignment types and options that you can apply to each module. You can assign modules to, or exclude them from, virtually anything.

If all of the assignments in a module are set to Ignore, that module will show up on all pages.
As soon as you set one or more of the assignments to Include or Exclude, the module will be limited to the pages/situations matching those assignments.

Same as other module

The first option you see is the Same as other module option.
Select this to use the assignment settings of another module.
If Opposite is selected, the module will show up on all pages where the selected module will not show up.

If you not use the Same as other module option, you will be presented with all the assignment types and options listed below.

Matching Method

You can use and combine any of the assignments. You don't have to just use one.

To control how multiple assignments are applied, there is Matching Method option. This determines whether all or any assignments need be matched:

  • ALL: Will be published if ALL of below assignments are matched at the same time.
  • ANY: Will be published if ANY (one or more) of below assignments are matched at any time.

Assignment groups where "Ignore" is selected will be ignored.

Note: When setting any or more assignments to Exclude, the Matching Method should be set to ALL. Otherwise, using ANY would result in one Exclude conditon to always match and the module to show everywhere else.

Show Assignments

You can select whether to show the full list of available assignments, or only the selected assignments that are currently used. You can use this to get a clean overview of the active assignments.

When set to Selected, all not-selected assignment types will be hidden from view.

Assignment Types

Each assignment type has three possible states/options.

  • Ignore (default)
  • Include
  • Exclude

By default all assignments are ignored, meaning the module is not limited by assignments.
To use an assignment, you set the option to Include or Exclude depending on the desired effect.
If you set an assignment to Exclude, the module is assigned to all pages/circumstances that do not match your selection.

Below you find all the available assignments with the available settings for it.

Menu Items

In addition to the core Menu Items selection, it's possible to automatically include or exclude all current and future menu items placed under a parent menu item.

Selection Select the menu items to assign to.
Also on child items Also assign to child items of the selected items?
Include no Itemid Also assign when no menu Itemid is set in URL?

Home Page

Unlike selecting the home page (default) item via the Menu Items, this will only match the real home page, not any URL that has the same Itemid as the home menu item.

This might not work for all 3rd party SEF extensions.

Date & Time

The date and time assignments use the date/time of your servers, not the ones of the visitors system.

The date range can be set to be recurring every year in the same time period.

Date
Start Publishing Enter the date to start publishing
Finish Publishing Enter the date to end publishing
Recurring Select to apply date range every year. (So the year in the selection will be ignored)
Seasons
Selection Select seasons to assign to.

Options: Winter, Spring, Summer, Fall / Autumn
Hemisphere Select the hemisphere your website is located in

Options: Northern, Southern, Australia
Months
Selection Select months to assign to.

Options: January, February, March, April, May, June, July, August, September, October, November, December
Days of the week
Selection Select days of the week to assign to.

Options: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
Time
Start Publishing Enter the time to start publishing.
Format: 23:59
Finish Publishing Enter the time to end publishing.
Format: 23:59

Languages

The Languages assignment differes from the core in that it allows a selection of multiple languages.

Selection Select the languages to assign to.

Joomla! Content

This assignment is based on what Joomla content page is displayed, including Page Types, Categories and specific Articles.

Page types
Selection Select on what page types the assignment should be active.

Options: Archived Articles, Single Article, List All Categories, Category Blog, Category List, Featured Articles, Create Article
Categories
Selection Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Articles, Others
Articles
Selection Select the articles to assign to.
Content Keywords Enter the keywords found in the content to assign to. Use commas to separate the keywords.
Meta Keywords Enter the keywords found in the meta keywords to assign to. Use commas to separate the keywords.
Authors Select the auhors to assign to.

Tags

Selection Enter the tags to assign to. Use commas to separate the tags.
Match all Select to only let the assignment pass if all of the selected items are matched.
Also on child items Also assign to child items of the selected items?

Users

User Groups
Selection Select the user groups to assign to.
Users Pro only
Selection Select the users to assign to.

Components

Selection Select the components to assign to.

Templates

Selection Select the templates to assign to.

URL

The URL assignments allows control over specific pages or groups of pages, with support for Regular Expressions.

URL matches Enter (part of) the URLs to match.
Use a new line for each different match.
Use Regular Expressions Select to treat the value as regular expressions.

URL parts will be matched using regular expressions. So make sure the string uses valid regex syntax.

Devices

Selection Select the devices to assign to. Keep in mind that device detection is not always 100% accurate. Users can setup their device to mimic other devices.

Options: Desktop, Tablet, Mobile

Operating Systems

Selection Select the operating systems to assign to. Keep in mind that operating system detection is not always 100% accurate. Users can setup their browser to mimic other operating systems.

Browsers

Browsers Select the browsers to assign to. Keep in mind that browser detection is not always 100% accurate. Users can setup their browser to mimic other browsers
Mobile Browsers Select the browsers to assign to. Keep in mind that browser detection is not always 100% accurate. Users can setup their browser to mimic other browsers

IP Addresses Pro only

IP Addresses / Ranges A comma and/or enter seperated list of IP addresses and IP ranges. For instance:
127.0.0.1
128.0-128.1
129

Geolocating Pro only

Geolocating is not always 100% accurate. The geolocation is based on the IP address of the visitor. Not all IP addresses are fixed or known.
To be able to use this assignment, you need to install the Regular Labs GeoIP library.

Continents Select the continents to assign to.
Countries Select the countries to assign to.
Regions / States Select the regions / states to assign to.
Postal Codes A comma separated list of postal codes (12345) or postal code ranges (12300-12500).
This can only be used for a limited number of countries and IP addresses.

3rd party Content Pro only

EasyBlog
Page types Select on what page types the assignment should be active.

Options: Archive Layout, Bloggers Layout (All authors), Categories Layout (All categories), Overview Layout (Dashboard), Single Blog Entry Layout, Featured Blogs Layout, Frontpage Blog Layout, Login layout, My Blog Layout, Subscriptions Layout, Tags Layout, Team Blog Layout
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Items
Tags Enter the tags to assign to. Use commas to separate the tags.
Page types Select on what page types the assignment should be active.

Options: Tags, Items
Items Select the items to assign to.
Authors Select the auhors to assign to.
FLEXIContent

For category & article (item) assignments, see the above Joomla! Content section.

Page types Select on what page types the assignment should be active.

Options: Author, Category, My Items, Favourites, Directory, Single item., Search, Tag
Tags Enter the tags to assign to. Use commas to separate the tags.
Page types Select on what page types the assignment should be active.

Options: Tags, Items
Types Select the types to assign to.
Form2Content Lite

For category & article (item) assignments, see the above Joomla! Content section.

Types Select the types to assign to.
K2
Page types Select on what page types the assignment should be active.

Options: Item, Item edit form, Categories, Tag, User page (blog), Latest items from (one or more) users or categories
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Items
Tags Enter the tags to assign to. Use commas to separate the tags.
Page types Select on what page types the assignment should be active.

Options: Tags, Items
Items Select the items to assign to.
Content Keywords Enter the keywords found in the content to assign to. Use commas to separate the keywords.
Meta Keywords Enter the keywords found in the meta keywords to assign to. Use commas to separate the keywords.
Authors Select the auhors to assign to.
ZOO
Page types Select on what page types the assignment should be active.

Options: Category, ITEM, Frontpage, My Submissions, Submission
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Items
Items Select the items to assign to.
Authors Select the auhors to assign to.
HikaShop
Page types Select on what page types the assignment should be active.

Options: User addresses, Categories listing, Featured Articles, Create Article, Contact page, Products listing, Product page, User control panel, Registration form
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Products
Products Select the items to assign to.
MijoShop
Page types Select on what page types the assignment should be active.

Options: Account, Admin Panel, Affiliates, Bestsellers, Shopping Cart, Checkout, Compare, Contact, Downloads, Home, Latest Products, Login, Manufacturers, Newsletter, Orders, Popular Products, Registration, Returns, Search, Sitemap, Specials, Voucher, Wishlist
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Products
Products Select the items to assign to.
RedShop
Page types Select on what page types the assignment should be active.

Options: Account, My Wishlist, Cart, Catalogue, Sample, All Products From a Category, Categories, Category Detailed, Checkout, Gift Cards List, Login, Logout, Portal Layout For Shopper Group, Portal Detail Layout For Shopper Group, Manufacturers, Manufacturer Details, Products From Selected Manufacturer, Newsletter Subscription, Orders, Orders Tracker, Reset Password, Set Password, Token, Product, Product Download, Product Rating, Quotation, Registration, Product Search, Newest Products, Products On Sale, redFILTER, My Wishlist, All Wish Lists
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Products
Products Select the items to assign to.
VirtueMart
Page types Select on what page types the assignment should be active.

Options: Shopping Cart, VirtueMart Categories Layout, Category Layout, Manufacturer Default Layout, Manufacturer Details Layout, List Orders, Product Details Layout, Account Maintenance, User Edit Address, Displays vendor contact, Displays vendors, Displays vendor details, View vendor TOS, Front page
Categories Select the categories to assign to.
Also on child items Also assign to child items of the selected items?
Page types Select on what page types the assignment should be active.

Options: Categories, Products
Products Select the items to assign to.

Custom PHP Pro only

This gives you the opportunity to assign to just about anything you can think of. You just need to know what PHP code you should use.

With PHP you can call on all data/information available in the variables, url, database, etc. And then do your checks on this data. You can tell the control the display by ending the PHP code with a return true or false based on your checks.

For examples and ready-to-use PHP scripts, check out the PHP Assignment Guide.

Custom PHP Enter a piece of PHP code to evaluate. The code must return the value true or false.

For instance:
return ( $user->name == 'Peter van Westen' );

Extra features

Extra Features

In addition to the above discussed assignment options, Advanced Module Manager also gives you a few extra features to make module management just that bit easier and faster.

Categorizing modules

You can assign modules to simple categories, which can then be used to filter by in the module list view. This does not affect the output of the module in any way, it is just a feature to use on the administrator side, to make grouping and finding certain modules easier and faster.

You can switch off the use of categories in the Advanced Module Manager global settings (default is on).

Colour Tag

You can assign a colour tag to a module. In the module list you can then see these colours and even order by colours. This does not affect the output of the module in any way, it is just a feature to use on the administrator side, to make grouping and finding certain modules easier and faster.

You can customize the available colours in the Advanced Module Manager global settings.

HTML Before/After Pro only

With this feature, exclusive to the Pro version, you are able to enter any custom HTML that that you want to prepend or append to the content of the module.

This feature can be useful to add content or styling to dynamic modules that you normally wouldn’t be able to customize.

Hide if empty

This option can be used to prevent module blocks with title but empty content being shown, when the module has nothing to show. This option might not work on all templates.

Description & Notes

The core module manager has the ability to add a short note to modules that displays in the module list.

Advanced Module Manager however adds the ability to show this Description as tooltip or in a separate column of the module list (you can set this via the global settings).

It also adds a brand new dedicated "Notes" tab, with a much bigger field that allows you to enter more detailed notes.

Extra Fields Pro only

In the Pro version of Advanced Module Manager global settings, you can enable the addition of up to 5 custom text fields to be displayed on the right-hand sidebar when editing a module.

This feature can be useful if you want to internally label modules in a custom way. You can also use these fields in your templates module chrome files to add extra functionality. You can get the value of these fields in the module chrome functions via php with values extra1-5, like: $params->get('extra1').

Settings

In the toolbar, on the right, you will see the "Options" button.

Toolbar

When you click on that, you will be directed to the Global Configuration options for Advanced Module Manager.

General Options

Here is an overview of the available options. All descriptions are available in the tooltips of the options.

Default settings

Module List Title Select whether to show the core or Advanced Module Manager title in the module list.
Default Ordering Set the default ordering of the list items
Default publish state Select whether to set new modules to published or unpublished by default.
Default menu assignment Select whether to set the menu assignment of new modules to all or no menu items.
Enable Edit on Frontend Select to make Advanced Module Manager handle the module edit links in the frontend. You can disable this if your template (framework) causes conflicts with Advanced Module Manager.
Open Frontend Edit in Admin Select to make the frontend module edit links open in the admin side for administrators.
Initialise on Event Set the internal Joomla event on which the plugin should be initialised. Only change this if you experience issues with the plugin not working.
Show Switch Select to show the link to switch to the Joomla core module manager (and back).
Show Update Notification If selected, an update notification will be shown in the main component view when there is a new version for this extension.
Show Copyright If selected, extra copyright info will be displayed in the admin views. Regular Labs extensions never show copyright info or backlinks on the frontend.

Features

Enabled Categories Enable to use categories and show the category column in the module list.
Enable Colours Enable to use colours and show the colour column in the module list.
Colours A comma separated list of RGB colours to show in the colour picker.
Enable HTML before/after Enable to show the colour HTML before/after fields in the module edit view.
Enable 'Hide if empty' Enable to show the 'Hide if empty' option
Enable Extra Fields Enable to show the custom extra fields.
You can define the labels of these fields. If no label is given, the field will not be shown.
The saved values can be used in the module chromes via values extra1-5:
$params->get('extra1')
Label (Extra Fields) Define the label of the extra field. Leave empty to hide.
To give the label a tooltip, enter the text after a bar sign, like:
My Label|The description of this label
Show Description Select where to show the optional short description in the module list view.
Enable Notes Tab Select to show an extra notes tab.

Assignments

This tab gives you the ability to disable any module assignment options for the module edit screen.

We advise you to switch off the assignments you don't plan to use, in order to keep the available assignment options in the module edit screens to only the ones you need, improving clarity and page load speed.

User Actions Log

Log User Actions Select to store User Actions. These actions will be visible in the User Actions Log module.
Events To Log Select the actions to include in the User Actions Log.

Permissions

Advanced Module Manager uses the core Module Manager permission rules.

The Joomla permission settings control access to the different actions for each user group. For more information on how these permissions work, see the Joomla docs: Access Control List Tutorial: Component Options & Permissions

Installation

You can either install Advanced Module Manager by using the core extension manager available in the Joomla! Administrator Control Panel, or by using the powerful Regular Labs Extension Manager.

Note: When updating Advanced Module Manager, you do not need to uninstall it first. The package will update all the files automatically.

Keep in mind that when you update to a major new version (or uninstall first), you might lose some configuration settings.

Regular Labs Extension Manager

It is very easy to install/update any Regular Labs Extension using the Regular Labs Extension Manager.

Please see the Tutorial for the Regular Labs Extension Manager for more detailed information...

Joomla! Extension Manager

To install via the Joomla! Extension Manager, just follow these steps:

  1. Log into your Joomla administrator;
  2. In the menu, choose: Extensions >> Extensions;
  3. Choose the tab: Install from Web (or enable it if you haven't done so yet);
  4. Select the search field and enter Advanced Module Manager and hit enter;
  5. Click on the Advanced Module Manager listing;
  6. Click on Install;
  7. Click on Install to confirm.
Installer Web

Or if you need to install the Pro version or cannot install via the 'Install via Web' method for some reason:

  1. Download the extension install file (.zip);
  2. Log into your Joomla administrator;
  3. In the menu, choose: Extensions >> Extensions;
  4. Choose the tab: Upload Package File;
  5. Click on the Choose File button and select the extension zip;
  6. Click on Upload & Install.
Installer Upload

If you have problems installing Advanced Module Manager, please try the manual installation process as described here: docs.joomla.org/Installing_an_extension