Foros del Web » Programando para Internet » PHP »

Invalid argument supplied for foreach()

Estas en el tema de Invalid argument supplied for foreach() en el foro de PHP en Foros del Web. Buenos días, estoy haciendo una web con Joomla, y me sale un error en el encabezado, donde debería haber un menu, os adjutno la foto ...
  #1 (permalink)  
Antiguo 25/07/2011, 01:33
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Invalid argument supplied for foreach()

Buenos días, estoy haciendo una web con Joomla, y me sale un error en el encabezado, donde debería haber un menu, os adjutno la foto de lo que me sale, y de lo que debería salir.

http://imageshack.us/photo/my-images/228/errorweb.jpg/

En la linea dodne dice que hay un error tengo esto:

function loadMenu(){
$user =& JFactory::getUser();
$children = array ();

// Get Menu Items
$items = &JSite::getMenu();
$rows = $items->getItems('menutype', $this->getParam('menutype'));
// first pass - collect children
$cacheIndex = array();
$this->items = array();
foreach ($rows as $index => $v) {
if ($v->access <= $user->get('gid')) {
$pt = $v->parent;
$list = @ $children[$pt] ? $children[$pt] : array ();

switch ($v->type)
{

No conozco PHP, asi que si alguien me pudiese ayduar se lo agradecería muchísimo.

Gracias por adelantado y un saludo a todos
  #2 (permalink)  
Antiguo 25/07/2011, 07:46
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Invalid argument supplied for foreach()

Ese error es que $rows no es un array.. entonces al no ser array no puede ser pasado por un Foreach. ..
desconozco que retorna $items->getitems();

Pero solo se que $rows no es un array.. y debería de ser un array D:
  #3 (permalink)  
Antiguo 25/07/2011, 08:56
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Invalid argument supplied for foreach()

No tengo mucha idea de programar, y la erdad que no he entendido mucho. Que puedo hacer? tiene que ver este error con que no me aparezca el menu de arriba de la web? es que soy bastante ignorante en este tema...
  #4 (permalink)  
Antiguo 25/07/2011, 09:46
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Invalid argument supplied for foreach()

Claro..

Imagino que el foreach lee el array y crea el menu.. asi que si lo quitas funcionara perfectamente pero podrías intentar poniendo

print_r($rows) .. para saber exactamente que devuelve
  #5 (permalink)  
Antiguo 25/07/2011, 10:30
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Invalid argument supplied for foreach()

donde pongo print_r($rows)?

me interesa que aparezca el menú.

Muchas gracias por tu ayuda, estoy bloqueado!
  #6 (permalink)  
Antiguo 25/07/2011, 11:57
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: Invalid argument supplied for foreach()

pon print_r($rows);

arribita del foreach.. de hecho no importa mucho donde lo pongos.. conque este abajo del $row original.

y dime que sale.. va?
  #7 (permalink)  
Antiguo 26/07/2011, 00:54
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Invalid argument supplied for foreach()

HOla. Lo he probado y me sigue saliendo el mismo error, exactamente pone:

Warning: Invalid argument supplied for foreach() in C:\Archivos de programa\EasyPHP5.2.10\www\templates\at_minerva\at _menu\Base.class.php on line 31

Antes era la 30, pero es porque he añadido la lineas que me has dicho pone 31.

Ya no se que hacer, si te mando alguno de los archivos podrías ayudarme? no sabes cuanto te lo agradezco.

Un saludo
  #8 (permalink)  
Antiguo 26/07/2011, 09:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Invalid argument supplied for foreach()

Cita:
Iniciado por dksoft Ver Mensaje
pon print_r($rows);

arribita del foreach.. de hecho no importa mucho donde lo pongos.. conque este abajo del $row original.

y dime que sale.. va?

Ya hiciste esto?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 26/07/2011, 10:43
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Invalid argument supplied for foreach()

Si, y me sale lo mismo
  #10 (permalink)  
Antiguo 26/07/2011, 10:48
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años
Puntos: 77
Respuesta: Invalid argument supplied for foreach()

usa var_dump() en lugar de print_r(), para saber que esta devolviendo $items->getitems() :|

Etiquetas: invalid
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:23.