2013-05-28 10 views
5

Così ho cercato e testato per un paio di giorni e non riesco a capire questo.Modulo Joomla, ottieni l'id del menu (ItemID) dall'articolo ID

Sto utilizzando il modulo del contenuto K2 e devo aggiungere "? Itemid = 111" alla fine dell'URL che genera per il collegamento "Leggi altro" sulle pagine.

Questo non è fatto per impostazione predefinita e ho trovato dove posso aggiungerlo, ma sto avendo problemi a ottenere l'Itemid (id del menu) dall'ID articolo.

Tutti gli esempi che ho trovato l'uso

$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
$activeId = $menu->getActive()->id; 

e che funziona, ogni volta che siete su quella pagina, e lo fa aggiungere l'ID corretto. Ma per gli articoli che visualizzo sulla home page non funziona correttamente poiché aggiunge l'Itemid (id del menu) della home page e non l'ID del menu di quell'articolo specifico.

Prima quando si utilizza Joomla 1.5 vorrei utilizzare la funzione built-in

getItemid($articleid) 

che non sembra funzionare per me più.

Qualcuno ha qualche suggerimento o qualcuno può indicarmi la giusta direzione su come potrei risolvere questo e "Ottieni l'id del menu (Itemid) dall'ID articolo"?

Grazie !!!

risposta

11

È possibile ottenere menu ID di un articolo utilizzando il seguito code-

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

Spero che questo vi aiuterà.

+0

Non funziona per joomla 3.2. puoi controllare ancora una volta? –

+0

@PThapa: ho controllato per 3.2 e ha funzionato bene. – Irfan

+0

Grazie 'funziona perfettamente. scusa, errore mio. –