2013-09-28 3 views
2

J'ai un composant qui a un formulaire de paiement simple. Je veux juste obtenir l'identifiant de l'élément de menu actuel. J'ai essayé plusieurs choses pour obtenir l'identification.Joomla get ID article de l'article

//get the active menu item id 
    $app = JFactory::getApplication(); 
    $menu = $app->getMenu(); 
    $active = $menu->getActive(); 
    $activeId = $active->id; 
    JLog::add('active id is: '.$activeId); //I get nothing returned 

    $currentMenuId = JSite::getMenu()->getActive()->id ; 
    JLog::add('menu id is: '.$currentMenuId); //I get nothing returned 

    //try to see what the current url is 
    $currenturl = JURI::current(); 
    JLog::add('current url is: '.$currenturl); //I get mysite.com/index.php 

J'utilise le code $activeId dans mes plugins sans problème, mais il ne fonctionne pas dans mon élément. Qu'est-ce que je rate?

Répondre

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

Hope this est ce que vous cherchez

+0

Merci, mais qui est la même chose que ma question juste une façon différente de l'écrire. Je l'ai essayé de toute façon et je n'ai toujours rien retourné. – Tom

+0

Essayez 'var_dump ($ menu)' et voyez ce que vous obtenez. De même, sur le formulaire de paiement, est-ce que la terminaison URl se termine par */index.php *? – Lodder

+0

'var_dump ($ menu)' donne la grande liste des menus, y compris celui que je veux. L'URI n'a pas index.php. L'URI entière du commentaire est 'http: // monsite.com/step2bv'. Je veux obtenir l'identifiant ou le nom de step2bv pour un traitement ultérieur. – Tom