6

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!!!

4

1 回答 1

12

您可以使用以下代码获取文章的菜单 ID -

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

希望这会有所帮助。

于 2013-05-29T08:00:30.490 回答