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

时间:2013-05-28 14:30:07

标签: php joomla joomla2.5 joomla-extensions

所以我一直在搜索和测试几天,似乎无法解决这个问题。

我正在使用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)”?

感谢!!!

1 个答案:

答案 0 :(得分: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;

希望这会有所帮助。