简体   繁体   中英

Joomla module, get menu id (ItemID) from article ID

So i've been searching and testing for a couple days and can't seem to figure this out.

I'm using the K2 content module and I need to add "?Itemid=111" to the end of the URL's it generates for the "Read More" link on pages.

This is not done by default and i've found where I can add it, but i'm having problems getting the Itemid (menu id) from the article id.

All the examples i've found use

$app   = JFactory::getApplication();
$menu   = $app->getMenu();
$activeId = $menu->getActive()->id;

And that works, whenever you're on that page, and it does add the correct ID. But for the articles I display on the homepage it does not work correctly as it adds the Itemid (menu id) of the homepage, and not the menu id of that specific article.

Before when using Joomla 1.5 I would use the built-in function

getItemid($articleid)

That doesn't seem to work for me anymore.

Does anybody have any suggestions or can anybody point me in the right direction on how I could solve this and "Get menu id (Itemid) from the article id"?

Thanks!!!

You can get menu id of an article using the below code-

$link = 'index.php?option=com_content&view=article&id='.(int)$articleId ;           
$menu = JSite::getMenu();
$menuItem = $menu->getItems( 'link', $link, true );
$Itemid = $menuItem->id;

Hope this will help.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM