2

I have been struggling with this one for about 4 hours to no avail. I have a joomla site that uses numerous modules on the homepage and a few other pages. I have done tons of research and see that I need to create a 'hidden' menu that contains my blog posts with category 'Blog category' (I'm sorry if any of this terminology is off, I'm quite new to the Joomla environment) and then i will have access to manage the modules for articles with the category of blog.

I have done three different tutorials but have not been able to hide the module on the actual blog detail page. Any help will be much appreciated. The weirdest part about this is that the module that I am trying to hide is set to only show on the homepage. This is working except for on the blog pages, so my guess is that they are somehow tied to the homepage but I can't figure out how.

2

4 Answers 4

2

Quite a simple thing. If your URL is looking like below:

http://www.yourdomain.com/id-categoryalias/id-articlealias

You should consider creating menu item for category (in this case you are going to create menu item for your Blog Category with "Category Blog" as Menu Item type).

You should then able to access your article with following:

http://www.yourdomain.com/menuitem-alias-for-your-category/id-articlealias

You would not see Unnecessary Modules loaded on that page. (Assuming you have not added "Menu Assignment" to that particular Category)

2

I recommend you try an extension called Advanced Module manager. This free extension will add new functionality to your modules, and has several conditions as to where a module should be visible. Even if what you want to achieve can be done with the regular Joomla module manager, it might be easier to use this extension if you're new to Joomla. You can set a module to hide based on view type, e.g. "hide in article view".

Advanced Module Manager

From what I understand in your question, you're trying to hide a module on the full blog view (or articles, as they are called in Joomla). I assume you are familiar with Menu Assignment in order to display modules for certain pages only. The best way to hide a module for full article view (the content displayed after someone clicks "Read more" in your blog view) is to create a new, hidden menu item and set it to "Single Article". Select any article, and save your menu item. Finally, make sure to change the settings in the module you want to hide and disable it on that particular menu item.

4
  • Thanks johanpw for your response. This worked but it only works for the specific blog post that i select after choosing "single article". How can I apply this to all blog views. I tried selecting "category blog" but this does not apply the change May 12, 2015 at 14:38
  • @user3633970 It's hard to say without knowing your exact setup. Try Advanced module manager, and set your module assignment to "Joomla content -> Exclude single articles". See screenshot in answer.
    – johanpw
    May 12, 2015 at 14:51
  • Okay, giving this a shot now May 12, 2015 at 15:41
  • This ended up not working for me. I don't understand why I can make it work for a single article but not for all articles with category blog :( May 13, 2015 at 2:55
2

The Advance Module Manager is the solution. As it also removes the module positions, if module is not assigned to Menu items in (in AMM Assignment in the concerned module settings). The free version will also take care of this, if you don't go Pro. Many Thanks to Peter van Westen (the developer of AMM).

What you have missed is to ignore Menu Items and Include categories. Then select your blog categories where you want to show the module. In the same categories box at the bottom, check only categories (in check-box) not articles.

Below is the complete configuration for your reference.

AMM configuration

1

In your template index.php file where you show up the module change this:

<?php if (JRequest::getVar( 'view' ) != 'article') : ?>
    <jdoc:include type="modules" name="module-position" style="any-style" />
<?php endif; ?>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.