Joomla.it Forum
Joomla! 3 => I Template di Joomla! 3 => : t357021 11 Jan 2021, 18:03:52
-
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]
-
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
-
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.
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 .= '<>';
}