所以我一直在搜索和测试几天,似乎无法解决这个问题。
我正在使用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)”?
感谢!!!
答案 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;
希望这会有所帮助。