Alguna vez me he encontrado con otro problema con Prestashop y jQuery que creo que merece la pena dejar aquí publicado para no olvidarme de el (en caso de volver a encontrármelo). El error del que voy a hablar puede venir dado por más de una posibilidad, pero aquí solo hablaré de cómo he solucionado este problema en una web concreta, pero por probar no perdéis nada ya que si no funciona tan solo habrá que dejar las cosas como estaban.
ReferenceError: jQuery is not defined
El caso es que cuando en Prestashop activas CCC (Combinación, Compresión y Cache) en la opción «Rendimiento» para mejorar un poco de todo en este tipo de tiendas, te puedes encontrar con que jQuery deja de funcionar al aplicar el Smart Caché en JavaScript y si pulsas Ctrl+shift+j verás que la consola te dice ReferenceError: jQuery is not defined.
En mi caso diré que este error vino dado cuando probando algunas cosas con jQuery, que en principio me había pedido el cliente de turno, tuve que probar a utilizar una versión posterior a la que por defecto utiliza Prestashop, y de ahí vino mi error. Tuve que utilizar la versión 1.11.0 de Jquery.min cuando ese Prestashop utilizaba la 1.7.0. Cuando el cliente dijo que no quería cargar la web con el plugin «maravilloso» que había programado para él, simplemente lo desinstalé y me olvidé del tema hasta que quise activar la CCC. En este momento fue cuando descubrí el error de jQuery, ya que al cargar la home de la tienda, jQuery no hacía nada de nada a pesar de ser llamado correctamente en el lugar indicado.
Como ya me había olvidado del tema hasta que descubrí el problema, diré que tuve que volver a buscar la solución y me encontré con la solución (que yo mismo había publicado en unos foros dedicados a este tipo de tiendas). Para solucionar el problema, tan solo tendremos que asegurarnos que el archivo defines.inc.php se encuentra en la siguiente ruta:
/config/defines.inc.php
Una vez localizado el archivo, tan solo tendremos que editarlo y dentro buscar PS_JQUERY_VERSION lo que nos llevará (en mi caso al final del archivo) al siguiente código…
Como se puede ver en la imagen aparecerá una versión de jQuery. Tendremos que asegurarnos de que la versión que ahí aparece tiene que ser la misma que encontraremos en el directorio /js/jquery/ de nuestro Prestashop. Y con esta tontería ya podremos utilizar CCC (Combinación, Compresión y Cache) sin ningún problema con jQuery.
4 Comentarios