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".
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() ) ) {
//...
}
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
}