Prestashop lanza nuevas actualizaciones de soporte y seguridad para la plataforma Ecommerce líder en la Unión Europea, estas actualizaciones han supuesto una mejora para quienes tienen tiendas online, pero también para la experiencia final del usuario. Un claro ejemplo de esto son los diferentes elementos que trajo la Actualización Prestashop1.7.8.
Las continuas actualizaciones de la plataforma consiguen mejorar poco a poco el funcionamiento y la usabilidad de la plataforma a la hora de su gestión, lo cual supone un factor a tener en cuenta por todos los propietarios de un negocio online.
Si todavía no has actualizado tu Pretashop y continuas en una versión inferior a la 1.7, este es el mini tutorial que necesitas para actualizar tu tienda online. Te explicamos paso a a paso como actualizar Prestashop 1.6 a una versión 1.7
Contenido
Pretashop tiene un módulo para actualizar pero teniendo en cuenta que podemos tener errores con el código, lo primero que hacemos será encontrar la versión de la tienda:
Una vez localizada la versión correspondiente, en este caso la 1.6.1.9, procederemos a descargar las fuentes originales de la web. En nuestro caso hemos descargado las de dicha versión como ejemplo, podéis encontrarlas en el siguiente botón.
Una vez descargada. extraemos el contenido de la versión Prestashop, creado de la estructura de carpetas, el motivo de hacerlo de esta forma es para evitar posibles infecciones, o posibles incompatibilidades entre módulos y futuras versiones de Prestashop o PHP.
Acto seguido, como es una versión 1.6, nuestro fichero de configuración y conexión de base de datos se encuentra dentro de la carpeta config (recordad que para las versiones de Prestashop 1.7 ahora se encuentra en: parameters.php).
Si estamos seguros que la web no ha sido infectada podemos usar la copia del fichero de la versión antigua. Si no, podríamos generarlo con los parámetros de conexión a la BD, pasamos el fichero Setting.inc.php
Cambiamos la ruta del Prestashop para que coja esta nueva carpeta de instalación
Tras esto, veremos que, al visitar la web, ésta se queda en blanco
Luego de esto, vamos a defines.inc.php y activamos el debug.
En este caso aparece el error:
"Fatal error: Uncaught Error: [] operator not supported for strings in /var/www/vhosts/servidor/httpdocs/412.upgrade/classes/db/DbQuery.php:96 Stack trace: #0 /var/www/vhosts/preproduccion.digitaldot.es/httpdocs/412.upgrade/Adapter/Adapter_EntityMapper.php(45): DbQueryCore->from('shop', 'a') #1 /var/www/vhosts/servidor/httpdocs/412.upgrade/classes/ObjectModel.php(233): Adapter_EntityMapper->load('1', NULL, Object(Shop), Array, NULL, true) #2 /var/www/vhosts/servidor/httpdocs/412.upgrade/classes/shop/Shop.php(131): ObjectModelCore->__construct('1', NULL, NULL) #3 /var/www/vhosts/preproduccion.digitaldot.es/httpdocs/412.upgrade/classes/shop/Shop.php(397): ShopCore->__construct('1') #4 /var/www/vhosts/servidor/httpdocs/412.upgrade/config/config.inc.php(114): ShopCore::initialize() #5 /var/www/vhosts/servidor/httpdocs/412.upgrade/admin16yu/index.php(36): require('/var/www/vhosts...') #6 {main} thrown in /var/www/vhosts/servidor/httpdocs/412.upgrade/classes/db/DbQuery.php on line 96"
La solución para este error la encontramos en el foro de Pretashop, sin duda una gran comunidad. Te lo explicamos brevemente:
Solución:
Entrar en el fichero: classes\db\DbQuery.php y cambiar:
Por:
Ahora nos aparece el siguiente Warning:
"Deprecated: Function mcrypt_decrypt() is deprecated in /var/www/vhosts/servidor/httpdocs/412.upgrade/classes/Rijndael.php on line 68"
Para esto entramos en Backoffice y cambiamos a: Use the custom BlowFish class.
Vemos que encontramos estos 2 errores:
"2 errors
¿Qué debemos hacer, entonces? Debemos crear una carpeta cache.
To use Smart Cache directory must be writable.
Desactivamos todas estas opciones.
Vamos a módulos, quitamos filtros, buscamos click y lo instalamos
Ponemos la tienda en mantenimiento e ignoramos requerimientos.
Cambiamos a versión secundaria para hacer una actualización escalonada de la última versión, desde Prestashop 1.6 a la versión .1.6.1.24
Antes de lanzar, os recomendamos hacer siempre una copia de la suscripción o de la carpeta y la BD, para evitarnos pérdidas de tiempo si hay un error en el proceso.
Ahora hacemos el upgrade a la última versión de PHP, en este caso 1.6.1.24. Como tenemos nuestras copias de seguridad ya realizadas, es mejor no hacerla en este proceso porque puede derivar bastante tiempo.
Como tenemos una instalación limpia y los temas de las versiones 1.6 no son compatibles a la versión PretaShop 1.7, recomendamos siempre marcar la opción de usar el tema predeterminado. Posteriormente, ya instalaremos el Theme para la versión 1.7 de digitalDot, el cual cuenta con una puntuación del 95 en Core Web Vitals.
Muy pronto tendremos nuestro template premium con estas optimizaciones, si lo quieres apúntate en nuestro boletín y serás el primero en recibirlo.
El proceso ha ido correctamente, pero debemos esperar a que el proceso de tablas también lo realice.
Al hacer login veremos claramente que ya estamos en la versión 1.6.1.24. Bien, ahora deberemos realizar el siguiente proceso de migrar a la versión 1.7.
Vamos a módulos nuevamente y buscamos: Actualización en 1-Click. El módulo seguirá siendo el mismo, deberemos tener en cuenta que, cuando actualizamos, los módulos de Prestashop también se actualizan para ser compatibles.
Ahora cambiamos la versión a la principal.
Nos aparecerá el informe en la parte superior (las preferencias ya no hay que tocarlas porque tenemos las de por defecto), en este punto también recomendamos hacer nuestra propia copia de código y base de datos (BD) evitando así errores o tener que repetir todo el proceso inicial.
Una vez terminado ya tenemos nuestro Prestashop listo para instalar un Theme 1.7 compatible y comenzar con todo el proceso de diseño de tienda online.
Con todo esto ya podrías disfrutar de la versión 1.7 de la plataforma.
En el caso de que en el proceso aparezca algún error o no sepas avanzar en la actualización, puedes contactar con nuestro equipo de expertos en desarrollo web y diseño web PrestaShop. Os recordamos que digitalDot es agencia partner de Prestashop y estamos encantados de poder ayudarte a ti y a tu negocio.