Joomla: recuperare l’identificativo di una voce di menu

Volendo recuperare l’identificativo di una voce di menu il codice di esempio qui sotto può essere di aiuto:

1
2
3
4
5
6
7
8
9
10
11
12
$Itemid = '';
$menu = &JSite::getMenu();
if ( $items = $menu->getItems( 'link', 'index.php?option=com_agimm&view=elencoimmobili' ) )
  foreach( $items as $menuItem )
  {
    if ( !$menuItem->published )
     continue;
 
    $params = $menu->getParams( $menuItem->id );
    if ( $params->get('tipo') == $immobili[0]->tipo and $params->get('id_categoria') == $immobili[0]->id_categoria )
      $Itemid = $menuItem->id;
  }
  • Alla linea 3 vengono recuperate le voci di menu in base al contenuto del link. Infatti il metodo getItems() di JMenu serve proprio a recuperare tutte le voci di menu corrispondenti ad un certo attributo. Il nome dell’attributo (ovvero il nome di un campo della tabella jos_menu) va indicato come primo parametro, mentre nel secondo va inserito il valore di pertinenza. Nel esempio vengono recuperate tutte le voci i cui link puntano alla view elencoimmobili del componente com_agimm.
  • Dalla linea 4 inizia il loop per ciclare le voci di menu recuperate
  • Alle linee 6 e 7 vengono saltate le voci di menu non pubblicate
  • Alle linee 9, 10 e 11  viene fatto un controllo sui parametri della voce di menu attuale e se corrisponde a quanto voluto viene preso l’id inserendolo nella variabile $Itemid

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *