it-swarm-eu.dev

Il menu getActive () restituisce "Tentativo di ottenere proprietà di non oggetti" nel componente di ricerca

Per identificare le pagine sto usando il seguente codice

if($menu->getActive()->id == 203){} // some actions

questa riga restituisce errore nella pagina di ricerca. L'URL di ricerca funziona in questo modo

http://localhost/joomla/component/search/?searchword=destination&searchphrase=all&Itemid=103

quando la pagina carica il seguente errore si verifica "Cercando di ottenere proprietà di non oggetto".

3
aish

Questo perché $ menu-> getActive () non sta restituendo un oggetto, e qui perché non esiste alcuna voce di menu utilizzata per la pagina di ricerca.

Per sbarazzarsi dell'avviso php che stai vedendo, puoi prima verificare se $ menu-> getActive () è un oggetto e se sì quindi ottenere la sua proprietà id.

così:

if ( is_object( $menu->getActive() ) ) { 
 //... 
}
5
FFrewin

Penso che potresti usare JInput per ottenere ItemId.

Prova a utilizzare quanto segue:

$jinput = JFactory::getApplication()->input;
$ItemId = $jinput->get('Itemid', '', 'INT');

if ($ItemId == 203)
{
    // Something here
}
2
Lodder