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

6

我已经搜索和测试了几天,但似乎无法弄清楚这个问题。

我正在使用K2内容模块,需要在页面上为“阅读更多”链接生成的URL末尾添加“?Itemid=111”。

默认情况下不会执行此操作,但我已经找到了可以添加它的位置,但是我无法从文章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个回答

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;
希望这可以帮到你。

它不适用于Joomla 3.2。您能再次检查一下吗? - Prakash Thapa
现在这才是我所谓的发现!谢谢。 - Benn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接