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:
- Content - Load Modules is a core Joomla plugin.
- 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:
- Place the cursor in the desired place in the text editor.
- Click on the Module button.
- 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).
- Check the display of the module on the front page.
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
Feature | Load Module | Modules Anywhere Free | Modules 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:
- Select a place to insert the module.
- Click on the Module button (the button name can be redefined in the plugin settings).
- 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).
- 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.
Terms used:
Frontend, Module, Plugin, Text editor, Shortcode, Core, Customization