所以我已经搜索和测试了几天,似乎无法弄清楚。

我正在使用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)”有正确的建议吗?

谢谢!!!

最佳答案

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

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

希望这会有所帮助。

关于php - Joomla模块,从文章ID获取菜单ID(ItemID),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16794674/

10-12 16:26