This article explains how to insert any Joomla module into the content of another module, article, or any other editable Joomla element.

Joomla Module Embedding Methods

There are two ways to insert a module into the content of another element:

  1. Content - Load Modules is a core Joomla plugin.
  2. Modules Anywhere is a third-party plugin for Joomla 3, 4 and 5.

Load Modules core Plugin

The Joomla core includes the Content - Load Modules plugin, which allows displaying modules within site content through the use of shortcodes.

Syntax

You can insert a module using the Content - Load Modules plugin using the Module button in the text editor, which will generate the following shortcodes: 

  • {loadmoduleid 1} will display the module with ID 1,
  • {loadposition user1} will display all modules in the user1 template position,
  • {loadmodule mod_login} will display the module with the system name mod_login,
  • {loadmodule mod_login,module title,style} will display the module with the system name mod_login, a specific title and module style.

Instructions

The procedure for inserting a module is as follows:

  1. Place the cursor in the desired place in the text editor.
  2. Click on the Module button.
  3. In the modal window, click either on the module title (then this specific module will be displayed in the content), or on the position name (then all modules published in this position will be displayed).
  4. Check the display of the module on the front page.

Attention!
A module inserted via the Content - Load Modules plugin will only display on pages where it is explicitly allowed in its settings.

For example, there is a module with the ID 1, in the settings of which in the tab Binding to menu items it is set that it should be displayed only on the main page. In this case, if you insert this module using the shortcode {loadmoduleid 1}, it will still not be displayed in the content of any pages except the main one.

Modules Anywhere plugin

If the core functionality is insufficient, the Modules Anywhere plugin by Regular Labs provides an enhanced solution, which allows you to insert Joomla modules into materials and any other editable elements without the shortcomings inherent in the main plugin.

Comparison of plugins

Comparison: Load Module vs. Modules Anywhere
Feature Load ModuleModules Anywhere FreeModules Anywhere Pro (€29)
Inserting modules and module positions inside materials ✔️ ✔️ ✔️
Editor button for insertion ✔️ ✔️ ✔️
Processing {loadmodule} and {loadposition} shortcodes  ✔️ ✔️ ✔️
Managing module styles via shortcodes ✔️ ✔️ ✔️
Inserting into other modules, third-party components and template overrides ✔️ ✔️
Selecting module output styles when using the button editor ✔️ ✔️
Ability to ignore module access levels, their state and assignment to menu items ✔️ ✔️
Ability to override the settings of each individual module tag ✔️
Ability to control the level of access to the module for certain groups of users and components ✔️
Buttons for editing modules hosted via Modules Anywhere in the frontend ✔️

Instructions

The procedure is the same as with the core plugin:

  1. Select a place to insert the module.
  2. Click on the Module button (the button name can be redefined in the plugin settings).
  3. In the modal window, click on the ID or the name of the module (then this specific module will be displayed in the content), or on the name of the position (then all modules published in this position will be displayed).
  4. Check the display of the module on the front page.

Settings

The System - Regular Labs - Modules Anywhere plugin settings include the following tabs:

Plugin
Here you will find a description of how the plugin works.
Behavior
In this tab, you can customize the result of module processing by the plugin: assign a default style, disable module caching, etc.
Security options
Here you can limit the use of the plugin depending on the component and user group.
Editor button options
In this tab, you can redefine the button name, enable the button display in the frontend, etc.
Tag syntax
Here you can redefine the syntax of shortcodes generated by the plugin.

Conclusions

The core plugin Content - Load Modules offers limited functionality. As noted above, if a module is assigned to a specific page, it will not be displayed on other pages. The Modules Anywhere plugin overcomes this limitation, providing a wide range of additional features and customization options.