Autore Topic: count(): Parameter must be an array or an object that implements Countable in  (Letto 91 volte)

Offline t357021

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Salve a tutti,


mi sto cimentando a creare un sito della mia famiglia, ho scaricato un template (hello_word) e sto inserendo delle pagine.
Posso anticiparvi che non sono un esperto ne di PHP ne tanto meno di altro ma come dicevo mi cimento.


Il template mi da un errore di warning count(): Parameter must be an array or an object that implements Countable in
[/size]su [/color][/size]plugins/system/helix3/core/classes/menu.php[/color][/size] [/color]on line [/size]258 [/color][/size]e non so come risolverlo.

[/size]Sto utilizzando PHP 7.2 e cercando in rete mi pare di aver capito che su count bisogna specificargli qualcos'altro (array o object) e non ho la più pallida idea di come modificarlo.
[/size]Grazie anticipatamente a chiunque riesca a darmi una mano
[/size]GiovanniSu riga 258 di menu.php esiste il seguente codice
[/color]
[/size]if (count($item->params->get('menulayout')) == 1) {
[/size]         $mega_json = $item->params->get('menulayout');
[/size]         $mega = json_decode($mega_json);
[/size]         $layout = $mega->layout;
[/size]
[/size]         $layout = $layout[0];
[/size]         $col = $layout->attr[0];
[/size]         $mod_ids = ($col->moduleId)? explode(',', $col->moduleId):array();
[/size]
[/size]         if (count($mod_ids))
[/size]         {
[/size]            foreach ($mod_ids as $mod_id)
[/size]            {
[/size]               $this->menu .= $this->load_module($mod_id);
[/size]            }
[/size]         }
[/size]      }
[/size]
[/size]      $this->menu .= '<>';
[/size]      $this->menu .= '<>';
[/size]   }
[/size][/color]
[/size][/color]

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20584
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Ottimo cimentarsi:

alcuni consigli:

quando incolli il codice usa i tag code, così come è adesso il codice è illeggibile e vai contro il regolamento.

hai fatto bene a non tenere per te la versione di php, probabilmente devi passare alla 7.3.x
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline t357021

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Grazie giusebos per la risposta e scusa per l'errore ma non sapevo. Ho provato a reinserirlo e spero di esserci riuscito.
Sto utilizzando joomla 3.9.23 e ovviamente sto provando in locale utilizzando MAMP ed ho provato ad usura la versione 7.3.24 di PHP ma il risultato non è cambiato.
Ho notato che lo stesso errore me lo da anche su altri file in frontend e in backend.


Codice: [Seleziona]
if (count($item->params->get('menulayout')) == 1) { $mega_json = $item->params->get('menulayout');
$mega = json_decode($mega_json);
$layout = $mega->layout;


$layout = $layout[0];
$col = $layout->attr[0];
$mod_ids = ($col->moduleId)? explode(',', $col->moduleId):array();


if (count($mod_ids))
{
foreach ($mod_ids as $mod_id)
{
$this->menu .= $this->load_module($mod_id);
}
}
}


$this->menu .= '<>';
$this->menu .= '<>';
}


 

Host

Torna su