Quizá este problema sea muy específico, pero imagino que no seré el único.

En nuestro Prestashop tenemos el módulo doofinder para la búsqueda avanzada dentro de nuestra web. Todo iba bien hasta la actualización a PHP 5.4 tras la cual nos dio el siguiente error:

Con este error, dentro de la app de doofinder nos informaban del error de esta forma:

 

Pues bien, después de indagar un poco he visto que la solución es cambiar la función preg_replace por preg_replace_callback, como menciona en el error. Sin embargo, no es tan sencillo, hay que saber cómo cambia la nueva función. Pongámonos en marcha.

Vamos al archivo /modules/doofinder/dfTools.class.php en las líneas 448 y 449 y cambiamos esto:

por esto:

Es básicamente lo mismo, pero quitando el modificador /e y el segundo argumento de la función es otra función que retorna lo que queremos.

 

Sencillo, pero que puede dar quebraderos de cabeza.

Espero os sirva. Un saludo,
Iván Ros

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *