Consultas comunes a nuestro servicio de mantenimiento Prestashop

A diario nuestros clientes del servicio mantenimiento PrestaShop nos hacen diversas consultas de las que hemos decidido recopilas las más interesantes en esta entrada.

¿Se puede trabajar de forma online con vuestro equipo?

Por supuesto, fe echo trabajamos completamente de esta forma. Desde este enlace puedes ver algunas de las ciudades en las que ya trabajamos de forma online con nuestros clientes.

Problemas al clonar tienda en localhost

La solución es bastante fácil. El problema reside en que cuando cargas la base de datos en local, continúa teniendo el dominio configurado como el del servidor remoto. En las anteriores versiones se podía entrar en el backoffice y modificar este aspecto, pero ahora hay que hacerlo a mano.

Me explico, con la multitienda PrestaShop ha puesto una serie de de tablas para controlar las diferentes tiendas y con qué URL debe cargar. En tu caso deberías buscar la tabla ps_shop_url y modificar ahí tanto el dominio (que ahora será localhost) como la carpeta donde lo hayas incluido.

Por último, siempre es aconsejable borrar caché cuando trasladas una tienda para evitar problemas

Con esto, tu PrestaShop debería estar funcionando correctamente.

Configuración de Transporte con peso y envío gratis por precio

Primero de todo deberías crear un transportista que su única zona de actuación fuera Madrid y crearle un rango de precio de 0-muchos eruros jejeje. Y el precio de transporte que sea de 0€, así para cualquiera que sea de la provincia de Madrid tendrá este transportista de forma gratuita.

Para el resto, necesitarás un módulo que te ayude con los portes gratis. Tus transportistas están configurados por tramos de peso, pero necesitarás este módulo para además de estas reglas, que superponga otras por rangos de precios.

Lo que quiere decir que el tema de Madrid lo puedes hacer a través de configuración, pero el de transporte gratuito al resto necesitarás un módulo. Este módulo lo podrás encontrar fácilmente en Addons.

Modificar el footer

Para cambiar el orden o modificar cómo salen los elementos de ese apartado necesitas dos cosas: Configurar los módulos que aparecen ahí y cambiar su ubicación. Para ello mira los vídeos de gestión de módulos y sus posiciones ;)

Acceso al vídeo -> Gestión de Módulos

Modificar la HOME en PrestaShop

Debes tener en cuenta que Prestashop trabaja con plantillas de archivos *.tpl. Estos archivos son una mezcla de html + smarty que ayuda en su programación dando algunas herramientas como condicionales, bucles etc. Para lo que tu quieres, muy posiblemente tenga una solución más fácil. Con un módulo de bloque HTML (el configurador de temas si estás trabajando con la versión 1.6 de PrestaShop) podrías añadir el código en la home. Después, para que aparezca en la posición que tu quieras deberías ubicar el módulo en el hook displayhome y así que aparezca como quieras.

De todas formas, en cada plantilla tienes un index.tpl que es donde se carga la home, si lo quisieras modificar a mano, pero esto no te lo aconsejo puesto que sería mucho más sencillo de gestionar después a través de un módulo.


Soporte PrestaShop 5H

Soporte PrestaShop 10H

Soporte PrestaShop 15H

Provincias en diferentes zonas según Multitienda

El problema viene dado en que PrestaShop si que permite que hayan zonas diferenciadas por tienda, pero no permite que un estado/provincia en diferentes zonas según tienda. Un estado/provincia solo puede estar en una zona y es por eso que cuando lo cambias en una de las multitiendas, cambia en todas.

Identificar productos con su respectiva caja en PrestaShop

Puedes añadir a la referencia algún código que te indique en qué tipo de caja va cada artículo. Es decir, si la referencia del producto es el 40, se puede poner algo como 40-Ca03. De esta forma, revisando el pedido se puede ver directamente.

Si requieres que esta información se vea o se utilice en algún otro sitio, ya sería cuestión de ver qué necesitas y cómo.

Enviar productos con diferentes transportistas

Hay que tener en cuenta que puedes configurar tus transportes primero por pesos o por rangos de precios. Hecho esto, en el backoffice de tu tienda, en la ficha de producto puedes decidir cómo se envía ese producto. Si no le indicas ningún transportista quiere decir que se podrá enviar con cualquiera de ellos. Si seleccionas alguno, sólo se podrá enviar con estos, teniendo en cuenta que si se unen varios productos con diferentes transportistas sumará gastos de envío.

Ahora, lo que tu comentas, parece a todas luces que le hayas indicado equivocadamente los gastos de envío extra. Esto está pensado para que a cada unidad de este producto se le sume esa cantidad al envío. Son costes pensados por ejemplo para la manipulación del producto por tu parte o por parte del transportista. También lo puedes utilizar para otros menesteres, pero en principio está pensado para esto. Si quieres que sólo se cobre una vez, estos gastos deben estar configurados en el transportista y no en los gastos extra de envío.

Por último, si lo que necesitas es que efectivamente coja este precio de coste extra, pero sólo una vez por producto, sería necesaria hacer una pequeña modificación a tu PrestaShop para que así lo hiciera. Estos cambios no son muy costosos de realizar, pero hay que saber de programación y dónde se toca, lógicamente.

Problemas con módulos e idiomas

Debes tener en cuenta que cuando tienes una web en múltiples idiomas, hay módulos que te van a permitir gestionar cada una de las traducciones. Hay algunos que están configurados para que cuando creas el primer elemento, si no existe todavía, replica en todos los idiomas el contenido que hayas puesto (siempre y cuando no hayas hecho directamente las traducciones ya).

Si el módulo no hace esta traducción, tan solo habrá guardado contenido en aquellos idiomas que hayas introducido. La solución debería ser fácil: Entra a configurar el módulo y ajústalo también para el idioma Español, teniendo así todos los aspectos cubiertos. Para gestionar los contenidos en diferentes idiomas, cuando entras verás (dependiendo de la versión) una bandera o un desplegable donde podrás modificar el idioma que vas a configurar/gestionar.

Imágenes de categoría desde otro Servidor

Las imágenes de productos o de categorías (o todas aquellas que requieran que las subas a mano) será imposible utilizar ninguna imagen que esté ubicada en otro servidor. Cuestión a parte es cuando utilices el editor de texto ya que te permitirá añadir elementos a través de url y por tanto si podrás mostrar estas imágenes. Por lo tanto, si quieres poner una imágen de categoría que tengas en otro servidor tendrás que hacerlo a través de su descripción.

Landing Page de Multitienda

Esto necesitarás tratarlo a través de una landing page. Cómo realizar esta landing page es donde pueda estar la miga. Una de las cosas que podrías hacer es trasladar todo tu PrestaShop a una carpeta y en la raíz de tu web montar una landing page con la estética que tu decidieras que redirigiera a tus clientes hacia la multitienda que pertocara.

Esta opción te dará una primera página de carga muy rápida por que una landing page montada en HTML/CSS/JS sin conexiones a bases de datos es muy muy ágil. Eso si, también muy estática y para cambiar algo habría que modificar el código.

Otra opción que tienes es para que no esté todo a la vista, generar una categoría que contenga a todo el resto. Con esto hecho, en la home de tu tienda principal montarías un pequeño código HTML o una serie de banners que dieran acceso a las diferentes tiendas a través de enlaces directos. Al tener todas las categorías colgando de una superior que habrías creado, tan solo deberías dirigir hacia esta categoría madre. Hacerlo así es por que si diriges hacia la categoría «inicio» lógicamente te cargará el índex de la respectiva tienda.

Esta segunda opción te evitará mover archivos y tener que preparar una landing page con programación, pero te hará reubicar a las categorías de tus tiendas.

Tarjetas Regalo con envío gratuito

Debes tener en cuenta que en tu tienda podrás tener diferentes tipos de productos. Para el caso que me comentas, tendrías en tu caso productos normales y las tarjetas de regalo.

El problema que estás teniendo ahora mismo es que estás tratanto tus tarjetas de regalo como si productos normales se tratara, y por tanto, PrestaShop está cobrando los gastos de envío.

Esto, por suerte, tiene una muy fácil solución y es configurar tus tarjetas regalo como «Productos Virtuales». Para ello, tan solo debes entrar en tu backoffice a la ficha del producto (Catálogo->Productos) y editar tus productos de tarjetas regalo. En la primera pestaña que se carga, arriba de todo verás que se puede configurar el producto como «Producto Estándar / Pack de Productos Existentes / Producto Virtual». Esta última opción es la que debes elegir para que PrestaShop no cobre transporte para estos proeudtos.

Eso si, debes tener en cuenta que si un cliente pone en la cesta un producto virtual y uno normal, se cobrarán exactamente igual los gastos de envío, debido al producto normal.

Tengo un código que quiero incluir en mi PrestaShop

Para poder introducir tu código en PrestaShop deberás integrarlo en un módulo. Para ello te aconsejo que te registres en Addons y su validador para poder descargar bases de módulos que te podrán ayudar.

A parte de poder descargar estas bases, te interesaría poder revisar esta documentación para desarrolladores (puedes verla AQUÍ). Si bien son un poco escuetas y no profundizan mucho, si que te darían una visión de por donde empezar.

Por último, para que aparezca en la página principal puedes programarlo para que se enganche en el Hook displayTopColum o en el displayHome. A parte de estos, lógicamente puedes hacer que se enganche a cualquier otro de los hooks que están presentes en tu web y después (bien por programación, bien por restricciones de configuración) evitar que salga en ninguna otra página que no sea el index.

Contra reembolso con condiciones

El módulo básico de PrestaShop para contra reembolso tan solo lo activa y no da ninguna opción más. Para lo que tu buscas, se puede hacer, pero hay que dar alguna que otra vuelta dentro de Prestashop, te comento:

  1. Necesitarás un módulo de pago contra reembolso con más opciones de lo que da el básico. Sobretodo te interesa que se pueda elegir con qué transportistas estará activo. Por ejemplo, tienes módulos de este tipo como el que podrás encontrar AQUÍ en nuestra tienda.
  2. Necesitas configurar un Transportista exclusivo para el contra reembolso
  3. Debes seleccionar dentro de la ficha de aquellos productos que pertoque el transportista que has creado y que será con el único con que se activará el pago contra reembolso.

max_input_vars en Localhost

Si estuvieras en remoto sería bastante fácil, puesto que con avisar a tu empresa para que ampliara esta variable, ya sería suficiente. Estando en local, no es difícil, pero tan solo debes saber dónde buscar. Considerando que estés trabajando con Xampp, deberías entrar a editar este archivo:

«C:\xampp\php\php.ini»

Aquí deberás modificar la línea max_input_vars y aumentar su número al menos a 2118. Ten en cuenta que si esta línea tiene un punto y coma delante, deberás quitárselo puesto que de lo contrario no funcionará.

Una vez hayas modificado esta línea, deberás reiniciar el servicio de apache para que surja efecto la nueva configuración.

Añadir complementos a los Productos de PrestaShop

Si lo quieres hacer simple, lo único que deberías hacer es utilizar los accesorios en la ficha de producto dentro del backoffice de tu tienda. Me explico, esta parte permite añadir una serie de productos para que aparezcan relacionados al producto que estás editando. De esta forma, el cliente, cuando esté viendo uno de tus artículos, por ejemplo un ramo, debajo podría tener automáticamente los productos «dedicatorias» que tu has creado en tu tienda. De esta forma, incluso puedes personalizar para cada producto qué dedicatorias quieres que se vean, puesto que en el mundo de las flores lógicamente no es lo mismo un ramo de reaglo para un cumpleaños que una corona de flores.

Nuevos Hooks en PrestaShop 1.6

No hay diferencias notables. Lo primero que hay que hacer de igual forma es dar de alta el hook en la base de datos conforme ves en el vídeo. Después, nada más ser creado, es bien cierto que en la versión 1.6 de PrestaShop no te aparece cuando entras a posiciones de los módulos. Eso si, si intentas desplazar algún módulo, verás que si que aparece. Hay que tener en cuenta que para que aparezca aquí y que puedas trasladar algún módulo a este nuevo hook, previamente debes haberle dado la funcionalidad como digo en el vídeo.

A parte, con las nuevas versiones ya no hace falta, como norma general, inicializar el hook en un controlador, si no que lo puedes llamar en el arhicvo tpl a través de smarty con esta estructura: {hook h=»nombreHook»}

Vamos, resumiendo, es casi casi lo mismo, pero con diferencias sutiles.