Anteriormente PHP te permitía agregar elementos a un array no definido, aparte de ser una pala prácita, ya no se permite y te debería generar algún error o advertencia, a menos que tengas configurado para omitirlos.
Intenta definir el array antes de ingresar al ciclo:
Código PHP:
Ver original$i = 0;
$menu = []; // Si tu versión de PHP es menor a 5.4, entonces $menu = array();
// Aquí ya puedes agregar elementos sin problema
$menu[$i]=array("id_categoria"=>$fila[0], "nombre"=>$fila[1], "orden"=>$fila[5]); $menu[$i]["hijos"]=cargar_menu ($idioma, $fila[0]);
$i++;
}
Imagino que los productos no se muestran por algo similar a esto.