Tutorial for Modules Anywhere

There is a Free and a Pro version of Modules Anywhere.
The parts in this tutorial that only concern the Pro version will be marked with: PRO


Modules Anywhere is a Joomla! system plugin (that also comes with an editor button plugin).

It allows you to include single modules or complete module positions anywhere in your site, including within articles, inside other modules, or even 3rd party components and template overrides. You can place modules literally anywhere you want, wherever you have the ability to enter text.

You only need to place a simple tag like this to place a module:

{module Name of My Module}

Modules Anywhere is a lot more flexible and advanced than the Joomla core "Load Modules" plugin. Here are some of the great advantages:

  • It works anywhere, not only in articles. It works in other modules, and even components and template overrides.
  • You have the ability to ignore the module access level, state and assignments when placing the module.
  • You can control the html display style within each module tag, not only one global setting.
  • You can override settings/parameters in the module. PRO
  • You have advanced security setting, so you can disable this feature for lower user types or certain components. PRO
  • It comes with a very easy to use editor button.
  • You can set Modules Anywhere to also handle the Joomla core module tags. In that case, you can safely disable the "Load Modules" plugin altogether

See the Comparison Table below for a breakdown of all the advantages and differences.

How to use it (syntax)

You can place modules via Modules Anywhere by using plugin style tags right into your WYSIWYG editor.

To place a single module, you can use the {module} tag.

You can also place complete module positions by using the {modulepos} tag.

Single module

The syntax is very simple. You tell the {module} tag which module to show simply by using the Title or ID of the module:

{module Title of my Module}
{module 123}

When inserting the {module} using the module ID, you can also add a comment (eg. the Title) after the ID with the following syntax. For example:

{module 64:This is the login form}

This last syntax, unlike when using just the Title, won't bind the module to always keep the same title, because the syntax will still only depend on the ID. However, this allows you to add a comment and have a better idea of what the module is about when you insert it.

Module positions

The {modulepos} tag works very much like the {loadposition} plugin in Joomla's core. But it works better :)
The main difference is that you can use the {modulepos} tag anywhere you can enter text, so not only in articles.

Just add the position name inside the {modulepos} tag, like:

{modulepos position-7}

Overruling parameters

Now we will see how you can further control the module by adding extra parameters to the {module} tag.

The syntax of these parameters looks like name="value", which you might recognise from how html works.

If you want to add extra parameters, you will need to place the module title/id in a parameter too, like:

{module title="Title of my module" style="none"}
{module id="123" style="none"}
{module id="64:This is the login form" style="none"}

You are free to place the title in a title parameter also when not having extra parameters. So these will both work the same:

{module Title of my module}
{module title="Title of my module"}

Show or Hide Title

You can easily decide whether to show or not show the module title with a showtitle parameter set to either true or false.

{module title="Some module" showtitle="false"}

HTML styles

You can easily place the module (or module position) with another style than the one you have set as default (default is none). Just add the style parameter:

{module title="Main Menu" style="well"}
{modulepos position="position-7" style="well"}

The HTML styles (chrome) you can use depend on your template.

The Joomla template Protostar comes with the HTML style well.
The Joomla template Beez comes with the HTML styles division and tabs.

Alternative Layout

If you created a different layout for a specific module type (to be placed inside templates/[my template]/html/mod_[type of the module]/), you can assign it to your module in the tag with a layout="..." attribute.

The value for the layout parameter has to be entered with format template-name:layout-name, so for example:

{module title="Main Menu" layout="protostar:my-alt-layout"}

To find the exact value you should enter, you can look in the html output of the module edit page. Look for the select field with name jform[params][layout].

Other parameters PRO

You can also overrule the other module parameters, so that you can have a module displayed in different ways, with different settings just by overruling the settings via the tag.

You can overrule any parameters you can find in the module edit screen (in the administrator).

{module title="Main Menu" moduleclass_sfx="red" some_other_setting="123"}

So for example, you could change the number of displayed items in a listing module with something like:

{module title="Latest News" count="10"}

To find the name of the field you want to change, you can look in the html output of the module edit page. Look for the id of the parameter field. This is the part in the brackets in the field name after [params]: jform[params][xxx].

Fixing HTML output

Modules Anywhere will - by default - try to fix issues in the html output of the module (including the surrounding html tags).

It does this to prevent html structure issues potentially caused by the html of the module being placed inside whatever html the {module} tag is placed in.
For instance, if the {module} tag is inside a paragraph (<p> tag) and the module outputs a <div> structure, you get a <div> tag inside a <p> tag.
That is invalid html and Modules Anywhere will fix that. In this case by removing the surrounding <p> tags.

There are however some modules that output invalid html structures out-of-the-box and rely on that faulty structure to function. When Modules Anywhere 'fixes' that html, the module will stop working.

For these edge cases you want Modules Anywhere to leave the html alone and simply output it.
You can do this by either switching off the Fix HTML option in the Modules Anywhere system plugin settings, or by switching this off via the {module} tag:

{module name="Name of the Module" fixhtml="false"}

Editor Button

You can enter the tags directly into your content. However, to save time typing and remembering what the exact syntax is, Modules Anywhere comes with a handy editor button.

You can use this editor button (located below the text input area) to place an {module} or {modulepos} tag into your article (or other editor fields).

You can customize the default tag settings in the Modules Anywhere system plugin settings.

In the settings, you can also select to automatically add the module title as a comment after the ID when inserting the tag using the module ID.

Advanced Security PRO

The Pro version of Modules Anywhere offers advanced Security Control over who can use the extension and where it can be used.

These settings can be useful on websites where multiple people have rights to create and publish content.

You can control in which components or areas of the site Modules Anywhere should be enabled, and which User Groups are allowed to use it.

The advice is to not allow the usage in components where non-backend users can post content. For instance in forums and message boards.

See the "Security Options" tab in the Modules Anywhere system plugin settings for all the different settings

Comparison with Core Plugin

The Modules Anywhere extension offers several advantages compared to the Joomla core "Load Modules" plugin.

Here is a table that compares the features of the core plugin with both the Free and Pro versions of Modules Anywhere:

 Core PluginModules Anywhere
 Included in JoomlaFREEPRO € 19
Include modules and module positions inside articles Yes Yes Yes
Editor Button to insert modules and module positions Yes Yes Yes
Handle the Joomla core tags {loadmodule} and {loadposition} Yes Yes Yes
Control the module html styles of each individual module tag Yes Yes Yes
Include modules and module positions inside other modules, 3rd party components and template overrides No Yes Yes
Editor Button to insert modules and module positions inside other modules and 3rd party components No Yes Yes
Select module html styles right from the Editor Button No Yes Yes
Ability to ignore the module access level, state and assignments No Yes Yes
Ability to customize the tag syntax and the surrounding tag characters No Yes Yes
Frequent and continuous updates No Yes Yes
Ability to override module settings / parameters of each individual module tag No No Yes
Advanced Security Control to disable the use for selected User Group Levels and Components No No Yes
Frontend editing buttons for modules placed through Modules Anywhere No No Yes
Get fast support to the extension via the Support forum No No Yes
 Core PluginModules Anywhere
 Included in JoomlaFREEPRO € 19



Modules Anywhere is packed with options, giving you control over how it works and behaves. Here is the full list of the options you can find in the Modules Anywhere system plugin settings:


Default style Select the module style (chrome) to use by default. If no style is given in the module tag, this style is used.
Enable parameter overriding If selected, you can override the modules parameters in the tag like:

{module title="Main Menu" ​moduleclass_sfx="red" ​some_other_setting="123"}

This only works for the module tag (not the modulepos tag).

You can find the parameter names in the html of the modules settings page (name="param[...]") or look in the modules xml file.
Ignore Module Access Level If selected, the module access level selection will be ignored.
Ignore Module State If selected, unpublished modules will still be placed by the tag.
Ignore Module Assignments If selected, module assignments (like date and menu item assignments) will be ignored.
Ignore Caching By default, modules that have module caching switched off, will not be handled by Modules Anywhere on the article level, but at a later stage. This is to prevent Joomla from caching the module's output when caching the article.
If selected, the module will be handled on article level even when caching is switched off for the module. Enable this if certain modules have problems with placing their css/javascript files and you need to keep their caching setting disabled.
Frontend Editing Select if you want mouse-over edit icons for modules and menu items (support may depend on your template).
Fix HTML Select to let the extension fix any html structure issues it finds. This is often necessary to deal with surrounding html tags.

Only switch this off if you have issues with this.
Place HTML comments By default HTML comments are placed around the output of this extension.

These comments can help you troubleshoot when you don't get the output you expect.

If you prefer to not have these comments in your HTML output, turn this option off.

Security Options PRO


These settings have effect on Articles and Categories.

Enable in articles Select whether to enable the use of the syntax in articles.
Security Level Set the level of security. Modules Anywhere tags will be stripped from articles with an owner (creator) below this group level.


These settings have effect on the component area.
You can select in which components Modules Anywhere should not be enabled. Advise is to not allow Modules Anywhere in components that non-backend users can post content in.

Enable in components Select whether to enable the use of the syntax in components.
Disable on Components Select in which components NOT to enable the use of the syntax in. This is a list of your installed frontend components.
Remove in Disabled Components If selected, the plugin syntax will get removed from the component. If not, the original plugins syntax will remain intact.

Other Areas

These settings have effect on areas outside the component area (so in Modules and the rest of the website).

Enable other areas Select whether to enable the use of the syntax in all remaining areas, like the modules. The tag will not be handled/shown in the html head (META tags and such).

Editor Button Options

Button Text This text will be shown in the Editor Button.
Enable in frontend If enabled, it will also be available in the frontend.
Add Title to ID Select to add the module title as a comment after the ID when inserting the tag using the module ID.

Default Data Tag settings

Set the default values of the Data Tag selections for the Modules Anywhere popup

Styles List A comma separated list of styles (chromes) that will be available as a list in the Editor Button popup window.
Show Title Show or hide module title on display. Effect will depend on the chrome style in the template.
Options: Default, Yes, No

Tag Syntax

Module tag The word to be used in the tags.

Note: If you change this, all existing tags will not work anymore.
Modulepos tag The word to be used in the tags.

Note: If you change this, all existing tags will not work anymore.
Tag Characters The surrounding characters of the tag syntax.

Note: If you change this, all existing tags will not work anymore.

Options: {...}, [...], {{...}}, [[...]], [:...:], [%...%]
Handle Joomla core module tags Select to also handle the {loadmodule} and {loadposition} tags from the Joomla core 'Load Modules' plugin.
It is recommended to disable the Load Modules plugin.


You can either install Modules Anywhere 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 Modules Anywhere, 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 Modules Anywhere and hit enter;
  5. Click on the Modules Anywhere listing;
  6. Click on Install;
  7. Click on Install to confirm.
Joomla! Installer - Install from 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.
Joomla! Installer - Upload Package File

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