kenkomuri Posted August 11, 2014 Share Posted August 11, 2014 (edited) 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 August 11, 2014 by kenkomuri (see edit history) Link to comment Share on other sites More sharing options...
TeaCupApps Posted August 11, 2014 Share Posted August 11, 2014 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 More sharing options...
kenkomuri Posted August 11, 2014 Author Share Posted August 11, 2014 (edited) 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 August 11, 2014 by kenkomuri (see edit history) Link to comment Share on other sites More sharing options...
TeaCupApps Posted August 11, 2014 Share Posted August 11, 2014 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 More sharing options...
kenkomuri Posted August 11, 2014 Author Share Posted August 11, 2014 No dio resultado. Ya no apareció el error pero siguen sin salir los productos. Alguna otra sugerencia? Link to comment Share on other sites More sharing options...
Recommended Posts