2013-05-28 75 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

謝謝,它工作完美。抱歉,是我的錯。 –