2013-05-28 77 views
5

所以我一直在搜索和测试几天,似乎无法弄清楚这一点。Joomla模块,从文章ID获取菜单ID(ItemID)

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

谢谢!

回答

11

你可以使用下面的代码 -

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

希望这将有助于物品的菜单ID。

+0

它不适用于joomla 3.2。你能再请检查一次吗? –

+0

@PThapa:我检查了它的3.2,它工作正常。 – Irfan

+0

谢谢,它工作完美。抱歉,是我的错。 –