Jump to content

No aparecen los productos en la orden


Recommended Posts

Buen día, Todo venía funcionando bien después de migrar mi sitio web a otro hosting y ahora los productos no aparecen en la orden. Active el reporte de errores y aparecen los siguientes:

Warning: Invalid argument supplied for foreach() in /home/kenkom6/public_html/kenkomuri/classes/order/Order.php on line 540

Warning: Invalid argument supplied for foreach() in /home/kenkom6/public_html/kenkomuri/controllers/admin/AdminOrdersController.php on line 1292

At file Order.php line 540 is the first line of the following code:

foreach ($products as $row)
		{
			// Change qty if selected
			if ($selectedQty)
			{

The line 1292 at AdminOrdersController.php is the first line of the following code:

{
$product = new Product($order_detail['product_id']);

 

Después reemplace la carpeta classes y el archivo AdminOrdersController.php de los archivos de instalación y sigue el mismo error.

 

Mi versión es la 1.5.0.17 la cual no he podido actualizar ya que al hacerlo no aparecen las imagenes de los productos ni siquiera regenerando las imagenes, moviendolas, etc.

 

Urge ya que está en ambiente de producción y no puedo checar los pedidos para enviarlos.

 

Saludos y mucha gracia por su ayuda.

Edited by kenkomuri (see edit history)
Link to comment
Share on other sites

Buenos días,

Es posible que al cambiar de hosting, este último tenga otra versión de PHP con la que aparece este warning. Revisa bien los dos foreach y añádele el casting correspondiente, que por lo general serán array.

Es decir donde aparece el bucle de este tipo:

foreach ($products as $row)

{

    …

}

 

Prueba a dejarlo de la siguiente manera:

foreach ((array)$products as $row)

{

    …

}

 

Un saludo.

Link to comment
Share on other sites

De hecho ya tenía varios días trabajando sin ningún problema y apenas hoy me apareció el error. Tengo un backup de la página con otro dominio y está trabajando de forma correcta.

 

Perdón por mi ignorancia pero el array para que es?

 

Ya le agregué el array y no me sale el error pero siguen sin aparecer los productos.

 

Saludos y gracias por su pronta respuesta.

Edited by kenkomuri (see edit history)
Link to comment
Share on other sites

Es un casting y sirve para convertir una variable a un tipo determinado. Se ha de tener precaución en su uso.

En este caso la variable es un array y la volvemos a convertir en array con la idea que no salte el aviso o warning. Pruébalo y si no da resultado lo dejas tal como estaba.

Un saludo.

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...