Hemos actualizado una de nuestra plataformas de modulos Prestashop a la última versión y nosotros tenemos el log de errores siempre activo y nos mostraba el siguiente error:
Notice: Use of undefined constant PS_ROUND_HALF_DOWN – assumed ‘PS_ROUND_HALF_DOWN’ in /prestashop/classes/Tools.php on line 1624
Notice: Use of undefined constant PS_ROUND_HALF_EVEN – assumed ‘PS_ROUND_HALF_EVEN’ in /prestashop/classes/Tools.php on line 1625
Notice: Use of undefined constant PS_ROUND_HALF_ODD – assumed ‘PS_ROUND_HALF_ODD’ in /prestashop/classes/Tools.php on line 1626
Notice: Use of undefined constant PS_ROUND_HALF_UP – assumed ‘PS_ROUND_HALF_UP’ in /prestashop/classes/Tools.php on line 1628
Notice: Use of undefined constant PS_ROUND_HALF_UP – assumed ‘PS_ROUND_HALF_UP’ in /prestashop/classes/Tools.php on line 1630
Upsssssssss y porque tenemos ese error nos preguntabamos??? Facil el dia que actualizamos o no estaba en el fichero o aun no lo habian puesto, nos vamos a nuestro fichero defines.inc.php que esta dentro de la carpeta config y buscamos esto ‘’PS_ROUND_HALF_UP’ y no estaba, que raro no ……..
Entonces nos vamos a la pagina oficial de Prestashop donde estan las versiones de programación y buscamos ese fichero:
https://github.com/PrestaShop/PrestaShop/blob/1.6/config/defines.inc.php
Y vemos que en el nuestro en las lineas 147 a la 149 pone:
define('PS_ROUND_UP', 0); define('PS_ROUND_DOWN', 1); define('PS_ROUND_HALF', 2);
Cuando en el de ellos pone:
define('PS_ROUND_UP', 0); define('PS_ROUND_DOWN', 1); define('PS_ROUND_HALF_UP', 2); define('PS_ROUND_HALF_DOWN', 3); define('PS_ROUND_HALF_EVEN', 4); define('PS_ROUND_HALF_ODD', 5); /* Backward compatibility */ define('PS_ROUND_HALF', PS_ROUND_HALF_UP);
Pues añadimos este codigo debajo de la linea de nuestro fichero:
define('PS_ROUND_HALF_DOWN', 3); define('PS_ROUND_HALF_EVEN', 4); define('PS_ROUND_HALF_ODD', 5); /* Backward compatibility */ define('PS_ROUND_HALF', PS_ROUND_HALF_UP);
Et voila problema resuelto. Por eso nunca aconsejamos actualizar una plataforma en producción, alguien se puede olvidar algo atras como es el caso y nos deja nuestra tienda de Prestashop fuera de servicio. Este fallo no era grave, pero hay otros que si lo son.
El consejo duplica la tienda en el alojamiento para que el entorno sea lo más parecido y actualiza.
Hola, tengo ese problema en mi pagina después de actualizar, no se ve nada esta en blanco, al abrir el fichero mencionado están todas las lineas completas, no le hace falta nada de lo que mencionas, como se que otro error podría ser?
Gracias
Yo activaria el log de errores que esta al principio de todo de ese fichero tal como indicamos en el post siguiente:
http://www.informax.es/2013/10/09/prestashop-como-mostrar-el-log-o-arreglar-la-pantalla-blanca-sin-nada/
Sino es suficiente hay que revisar el log del servidor o en último caso activar el define(‘_PS_DEBUG_PROFILING_’, true); y con esto ya podras ver el error.
Hola, muchas gracias por tu rápida respuesta, restaure la pagina a la versión anterior, y solucione en parte, ahora tengo un error el modulo temas – añadir tema me queda la pagina en blanco y me da este mensaje
Fatal error: Undefined class constant ‘MODE_HOST’ in /home/andyponc/public_html/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()’d code on line 97
no me permite cambiar de tema, que crees que podría ser
Saludos
Yo probaria a borrar la cache de la smarty que a veces se queda bloqueado. Y desactivar todas las caches.
Me sigue saliendo el mismo error y al activar el PS_DEBUG_PROFILING_’, true me da el siguiente mensaje Fatal error: Undefined class constant ‘MODE_HOST’ in /home/andyponc/public_html/cache/smarty/compile/65/d4/f1/65d4f159f421ba90a5bc5e9b470b8d5b58b7e2fa.file.form.tpl.php on line 97
Ese fallo es por otra cuestión aqui hablan como solucionarlo:
https://www.prestashop.com/forums/topic/394099-fatal-error-undefined-class-constant-mode-contrib-inclassescontrolleradmincontrollerphp-on-li/