Joomla模块,从文章id获取菜单id (ItemID)


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

所以我已经搜索和测试了几天,似乎不能弄清楚这一点。

我正在使用K2内容模块,我需要添加"?"Itemid=111"到它为页面上的"Read More"链接生成的URL的末尾。

这不是默认情况下完成的,我已经找到了我可以添加它的地方,但我有问题从文章id获取Itemid(菜单id)。

我找到的所有例子都使用

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

不管你什么时候在那个页面上,它都会添加正确的ID。但是对于我在主页上显示的文章,它不能正常工作,因为它添加了主页的Itemid(菜单id),而不是特定文章的菜单id。

在使用Joomla 1.5之前,我会使用内置函数
getItemid($articleid)

这对我来说似乎已经不起作用了。

有没有人有任何建议,或者有人能指出我在正确的方向上如何解决这个问题和"从文章id获取菜单id (Itemid)"?

谢谢! !

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

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