miércoles, 26 de noviembre de 2014

Bloque de carro de Prestashop muestra siempre envío gratuito!

Un problema en Prestashop 1.6.0.9 sobre el coste de los envíos que aparece en el bloque de carro de compras blockcart y que en principio se debería de solucionar activando el reconocimiento de ip de cada comprador pero se ve que no funciona todavía.
Al no estar logeado en la tienda siempre aparece transporte gratuito cuando en realidad no lo es, esto puede crear confusiones y enojos entre los compradores ya que luego se darían cuenta que en realidad si lo hay (en los casos comunes en el cual se pone un importe mínimo de compra para envíos gratis).

Para solucionarlo se debe de realizar una serie de pasos siguientes:

1- Nos vamos al backend de Prestashop y en transportes seleccionamos el transporte y vamos a la pestaña Tamaño,peso y grupo de acceso y deseleccionamos el de visitor como vemos en la imágen adjunta.


2- Ir al archivo modules/blockcart/blockcart.tpl  dentro de la carpeta themes y del tema que se esta usando y modificar las siguientes líneas.
En la 155 aparece lo siguiente (o similar dependiendo del tema)

<span class="price cart_block_shipping_cost ajax_cart_shipping_cost">
{if $shipping_cost_float == 0}
{l s='Free shipping!' mod='blockcart'}
{else}
     {$shipping_cost}
{/if}
</span>
<span>
{l s='Shipping' mod='blockcart'}
</span>

Colocar lo siguiente;

{if !$logged AND !$cart->id_customer}
<span class="price cart_block_shipping_cost">
                <a href="index.php?controller=authentication&back=my-account">{l s='indeterminate' mod='blockcart'}</a>
</span>
{else}
       <span class="price cart_block_shipping_cost ajax_cart_shipping_cost">
{if $shipping_cost_float == 0}
{l s='Free shipping!' mod='blockcart'}
{else}
         {$shipping_cost}
{/if}
      </span>
{/if}
  <span>{l s='Shipping' mod='blockcart'}</span>

Una vez cambiado lo anterior bajamos hasta la línea 298, en la cual tendríamos que tener lo siguiente:
<span class="ajax_cart_shipping_cost">
{if $shipping_cost_float == 0}
{l s='Free shipping!' mod='blockcart'}
{else}
{$shipping_cost}
{/if}
</span>

Cambiar por:

{if !$logged AND !$cart->id_customer}
<span>
{l s='indeterminate' mod='blockcart'}
</span>
{else}
      <span class="ajax_cart_shipping_cost">
     {if $shipping_cost_float == 0}
{l s='Free shipping!' mod='blockcart'}
     {else}
{$shipping_cost}
     {/if}
     </span>
{/if}

Subimos el archivo al servidor y lo reemplazamos por el existente.

3- Vamos al backend en localización->traducciones:
ahi elegimos
traducciones de módulos instalados , la plantilla en la que trabajamos y el idioma (español) , y le damos a modificar y buscamos el modulo blockcart
Una vez encontrado buscar la variable indeterminate y colocar Regístrese para saber .
guardar

4- Parámetros avanzados-> rendimiento y clickar en vaciar el cache

Aquí ha terminado y ya sabéis si necesitáis montar una tienda online no os olvidéis de contar con nosotros que tenemos planes de tiendas online o bien hacemos el diseño de tu tienda a medida , también puedes consúltarnos los precios para tu tienda online.






3 comentarios :

  1. Hola! por fin encuentro alguien que resuelva el tema de del dichoso ENVIO GRATUITO permanente, yo ya tengo los gastos de envío configurados, es la segunda tienda en prestashop que me monto y algo de código he ido aprendiendo a base de probar y probar..., se me escapan muuuchas cosas pero esto que explicas sé que puedo hacerlo, el único problema es que mi prestashop es versión 1.6.1.2 y veo que este artículo es del 2014, así que lo que me temía es que cuando he accedido al archivo modules/blockcart/blockcart.tpl el código es diferente, y lo de copia, pega y cambia ya supera mi nivel ya que no encuentro exactamente que textos he de modificar dentro del archivo, me podéis echar un cable??? please... el foro de Prestashop es como un desierto sin agua... a veces desespera.

    Gracias por el artículo, muy bien explicado, no he encontrado a nadie que hable de este problema, prestashop lo pinta tan fácil y luego no lo es.

    Belén!

    ResponderEliminar
  2. Hola Belen:
    Gracias por tu comentario, pásame los datos de acceso a tu prestashop vía email a contacto@wmotion.net porque a ver si se puede solucionar sin tocar los archivos para tu versión de Prestashop.

    ResponderEliminar
  3. Al principio te lo ponen tan fácil que caes y lo haces con prestaschop, pero a la hora de la verdad,cuando tienes un verdadero problema y que como yo supongo habrá mas personas, que no entendemos casi de manejar internet, nos vemos con dificultades tan grandes que no podemos resolverlas, y además llamas por teléfono y por las mañanas lo coje un chico o varios no se? que solamente habla en inglés, te dice que llames por las tardes y luego no cogen el teléfono, yo he enviado un correo para que me ayuden hace un mes y todavia estoy esperando.Pero cobrar si lo hacen puntualmente. Solamente te ayudan si pagas por cada consulta 70 euros...

    ResponderEliminar