Skip to content

Instantly share code, notes, and snippets.

@amilabandara
Last active December 17, 2015 06:27
Show Gist options
  • Save amilabandara/15bd92ede905a397c824 to your computer and use it in GitHub Desktop.
Save amilabandara/15bd92ede905a397c824 to your computer and use it in GitHub Desktop.
Joomla load module inside article
You will usually want to associate modules with articles in some way. The modules are allocated to module positions and the module positions appear somewhere on the Web page as determined by the template. However, it is sometimes useful to have a module actually embedded within the article. Joomla core provides two ways to do that: loadposition and loadmodule.
Syntax:
{loadposition position[, style]}
{loadmodule module[, title[, style]]}
loadposition
To insert a module inside an article, you publish the module to a position and load that position in the article as follows:
Create a module and set its position to myposition. myposition can be any value that doesn't conflict with an existing template position. Type in the position myposition and press enter instead of selecting it from the drop-down list.
Assign the module to All the Menu Items. This will make sure that it always appears, no matter how the visitor got to the article. The module will not show unless you put the command to load the module in an article.
Edit the articles where you want this module to appear and insert the text {loadposition myposition} in the article at the place where you want the module.
*Note that this only works when the Content - Load Module plugin is enabled. If this plugin is disabled, the text {loadposition myposition} shows unchanged in the article. Also, the name of the position should be all lowercase. CamelCapitalization will fail.
loadmodule
An alternative to "{loadposition xx}" is the "{loadmodule yyy}" variation which is handled by the same plugin.
In this case the plugin looks for the first module who's type matches the string 'yyy'. So, you could load a "mod_login" module by placing {loadmodule login} in your text. If you wish to load a specific instance of a module, because you have more than one login module e.g. titled as login1, login2, etc. you have to use {loadmodule login,login2} for the module titled as login2. You can also add the a style that is used for rendering the module, to do so add the style as third parameter like {loadmodule login,login2,xhtml}. If you don't add a style then "none" is used.
Modules within Modules
It is possible in Joomla! 2.5+ and Joomla! 3.x+ to include a module within a "Custom HTML" module as they are processed by content plugins in the same way as articles.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment