A Site Builder's Blog
Sharing information about building and managing Joomla! websites
Solving Joomla! Module publishing frustrations
Disappearing modules and other Joomla! module problems that keep you up all night
The wonderful thing about Joomla! is that you can find an extension to create just about any web experience you can imagine. This flexibility makes Joomla! incredibly powerful, and in most cases very easy to use. But with flexibility comes a degree of complexity, and sometimes these complexities lead to frustrating little issues. In this post we'll look at some of the common frustrations that Joomla! site builders inevitably come face to face with.
The module does not display on some pages.
You have published a module, and selected All in Menu Assignment, but when you navigate through the site you encounter pages where these modules are not displayed. This confuses a lot of people, if a module is published to All, why would the module not show on All pages?
The problem is usually caused by having some form of navigation that does not use the menu. Some of these could be mini-blog extensions, News Modules, and other extensions that link to content that cannot be directly navigated to through the menu. Since the module publishing is linked to the menu, items that are not found in the menu. The solution to the disappearing modules is to publish them in a menu, or find an alternative way to assign where the modules are published
Solution 1 - Assign it to a menu
This seems simple enough, Simply create additional menu items such as Article Blog Layouts that include the problem articles will solve the problem. All these additional menu items can be distracting and ruin the simple interface you have created for your visitors. The answer is to create an additional menu, and publish it to a position that does not exist in the site's template. To create this invisible menu:
- Sign into Joomla! Administrator
- Menus - Menu manager
- Select a Name, Title, Description and Module Title (Let's use "Invisible Menu" for all of these)
- Add the offending content where the modules are missing (Section Blog Layouts will work nicely)
- After adding menu items go to Extensions - Module Manager
- Open the "Invisible Menu" module
- Delete whatever is in the Position field (yes you can actually edit this field)
- type "Invisible" in the Position field
- Select Enabled "Yes"
There is now a menu published in a position that does not exist in the template. No messy menu for your visitors, but now you can assign the module to these new Menu Positions.
Solution 2 - Use Advanced Module Manager
This second solution may be more flexible, but it does require the installation of an extension. Generally speaking if there is a way to solve a problem without adding extensions, I follow the "Less is better". However the excellent NoNumber Advanced Module Manager also addresses other Module frustrations, and you may discover there are many things that it does for you.
Advanced Module Manager adds many addition ways to assign modules to content. In the standard Joomla! 1.5 Manager modules are assigned to be included in Menu Items. Advanced Menu manger allows you to assign modules by inclusion or exclusion in menu items in a more flexible way, as well as by Content (Section/Categories/Articles), by Components, by URLs, time based and even based on the broswer the visitor is using.
You can fix the issue by simply installing Advanced Module Manager, it will retain all the current Menu Assignments. After installing this extension the Menu Assignment will be replaced with Module Assignment.
- Download and Install NoNumber Extension Manager (alternatively download Advanced Module Manager directly, however the extension manager makes it easier to update and install NoNumber extension)
- Install Advanced Module Manager (Components - NoNumber Extension Manager - Instal vx.x.x on Advanced Module Manager row)
- Open the missing module to edit in Extensions - Modules (or click the new icon before the module name to open configuration in a lightbox)
- Open Module Assignment
- You'll see that ALL is selected everywhere now, your modules will now show up and you have more control where/where not (if Matching is set to All, and each item in Module Assignment is set to All)
Every Time a new menu item is added, the module's Menu Assignment needs to be changed
This is the most frustrating little thing. I often want to publish modules everywhere except the homepage. With the standard Joomla! 1.5 Module manager you need to assign the module to a new menu item each time you add a menu item. When you have quite a few menu this can be very time consuming.
Here Advanced Menu manger comes to the rescue again. After installing the extension:
- Extensions - Module Manager
- go into the modules than need to display anywhere except home page.
- Open Module Assignment
- Under Menu Items select 'Exclude Selection'
- click on Home
- click Save
Publish modules on the same pages as an existing module
Without Advanced Module manager you can easily do this when creating new modules by copying the existing module. If any changes are to be made, you'll need to go into each module to change it.
With Advanced Menu Manager you can simply go into a module and select Mirror and a dropdown will appear. Set this to the existing module and it will simply appear on exactly the same pages.
Support Open-Source Software
Peter van Westen has come up with a unique way to license the software. All the extensions are FREE open-source unlimited use software and available for download at the NoNumber website. For website builder that use the extensions on sites for commercial uses he has implemented an optional commercial license. The only difference between a free license and a commercial license is that in the joomla! administration it will show the software as licensed for a site or not. Of course if you do not have a license, you can still donate to NoNumber by clicking the Donate button on the NoNumber website to show your appreciation.