3

From the home page of v3.3.6, I have a Category View listing all the sub-categories of a given main Category. When I click on that link from the home page, it lists those Sub-categories as expected, but the links of those subcategories (to see the articles within them) all use the Itemid of the Home Page, NOT that of the currently displayed Category View page (the correct Itemid is, of course, the browser URL)

"Correct" links:

  • Home Page: index.php?option=com_content&view=article&id=107&Itemid=435
  • Cat. View: index.php?option=com_content&view=categories&id=80&Itemid=531

These are the "incorrect" links to sub-categories that are displayed on the Cat. View (they are using Itemid 435 from home page, not 531 from the currently displayed view of the Main Category as would be expected:

  • Subcat1 : index.php?option=com_content&view=category&id=81&Itemid=435
  • Subcat2 : index.php?option=com_content&view=category&id=82&Itemid=435
  • Subcat3 : index.php?option=com_content&view=category&id=83&Itemid=435

SEF is not turned on, nor any multiple language settings and there are no Menu Item Aliases in play. I've changed the main Menu Item Type to various other components other than com_content to see if that would make a difference, though the article specified in the home page is Uncategorized, thus not expected to appear in any of the article lists anyways.

Am I wrong in assuming that the list of links should be using the Itemid of the currently active page and associated ItemID (531). This seems like such an elementary question, I feel silly asking, but there seem to be no clear answers or settings to get any other behavior.

2 Answers 2

4

It considers that you have already created a menu item - your current category list menu item- which becomes an "authoritative" itemid for the content you are linking.

It is also possible that you are going to have further similar issues with any article of your Main top category, as they might use the itemid of your home page now, instead of the category's blog menu item id.

A brief conclusion I have on this -without reviewing the code behind the mechanism - therefore not being 100% sure on this-, is that a lower id will take precedence over a higher id, when there are 2 similar type menu items that link the same content, which most likely describe your case here. It will be interesting to make your own tests on this and see if this really seems to be the case here.

After all, the general conclusion is that you can have extended control over the itemids, by creating menu items for each of the content element you need to display it under specific itemid, with keeping in mind that having 2 similar content elements (like same category) linked from 2 different menu items, looks like the lower itemid will be used.


Update » Do this test:

Based on the above, here is something that you could try that might be also the solution in the case you don't want to create more menu items:

  • Create a new menu item = Category List and set this as default (home-page) // Therefore a higher itemid.
  • Disable or make your old home menu item the "Category Blog" menu item that holds the parent category.
  • See which itemid is used now.
1
  • It is completely insane that this worked! I've had this happen in the past, and have always been able to bang enough things with a hammer to get it working. If there were only ONE thing on my wish list, it would be the ability to always specify an Itemid to override defaults like some components I've seen! Thanks for that great and informative research - you should sell it as a PDF, lol.
    – GDP
    Feb 25, 2015 at 19:33
1

Do you have (hidden) menuitems linked directly to these subcats as well? Because else Joomla doesn't know where to route to, other than the current Itemid. So you will need an extra (hidden) menuitem pointing to that subcat (blog-layout).

2
  • Nope, nothing hidden
    – GDP
    Feb 25, 2015 at 19:12
  • Well you should! Mar 16, 2015 at 10:21

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.