Cómo eliminar un paso en Prestashop
5 (100%) 6 votos

Buenas a todo el mundo y más concretamente a los prestashoperos, ya que hoy voy a contar una optimización para el carrito de compra con la consecuencia del incremento en el carrito que nunca viene mal… cómo vemos en la siguiente captura de un Prestashop 🙂

conversion web

Esta optimización no es más que saltarse un paso en el carrito de compra, o mejor dicho eliminar un paso en el carro de compra. Para los e-commerce en Prestashop que sólo tiene 1 transportista en la tienda, la estructuración de Prestashop tiende a marear/confundir en cuanto al transporte ya que en el resumen del carrito aparece el precio del transporte y luego en el 4º paso, por defecto en Prestashop, vuelve aparecer el gasto de envío por lo que algunos usuarios creen que están pagando 2 veces el envío. Así que hoy os enseñaré como eliminar el cuarto paso del proceso de compra de Prestashop y evitar futuras confusiones o lo que es aún peor, posibles abandonos de carritos ya que el cliente puede pensar perfectamente: “Estos me están tomando el pelo y me quieren cobrar el doble, me voy a otra tienda…”

Cómo eliminar un paso en Prestashop

Para eliminar el paso de transportista necesitaremos 3 ficheros, uno lo podemos encontrar en /controller/front/ con el nombre de OrderController.php y el segundo y tercero estarán dentro de nuestra plantilla instalada en nuestro Prestashop, es decir en la ruta /themes/miplantilla y son los ficheros order-payment.tpl y order-steps.tpl:.

Nota: Antes de cambiar nada en estos ficheros, nos copiamos los originales en una carpeta por si las moscas 😉

Paso 1.- Cambios en el fichero OrderController.php

Abrimos el fichero OrderController.php con cualquier editor de texto, y nos vamos alrededor de la línea 145 y buscamos el siguiente código:

case 2:
if (Tools::isSubmit(‘processAddress’))
$this->processAddress();
$this->autoStep();
$this->_assignCarrier();
break;

El código anterior tiene la funcionalidad de que si estamos en el segundo paso y la dirección del clientes es correcta, saltamos al paso de elección de envío. Pero como nosotros nos queremos saltar el método de envío, cambiamos el código anterior por este:

case 2:
if (Tools::isSubmit(‘processAddress’))
$this->processAddress();
$this->autoStep();
$this->_assignCarrier();
$this->_assignPayment();
$this->_assignSummaryInformations();
$this->setTemplate(_PS_THEME_DIR_.’order-payment.tpl’);
break;

Cuidado al copiar y pegar el código ya que las comillas no se copian las correctas. Hay que utilizar las comillas simple del inglés.

Con el código anterior, en vez de ir al paso de selección de envío, estamos diciendo que vamos al paso de selección de pago.

Paso 2.- Cambios en el fichero order-payment.tpl

Ahora funciona hacia adelante, es decir que funciona correctamente del paso “Dirección” al “Selección de pago”, pero a la inversa no funciona. Para ello tenemos que buscar la siguiente línea en el fichero order-payment.tpl:

<p class=”cart_navigation clearfix”><a href=”{$link->getPageLink(‘order’, true, NULL, “step=2″)}” title=”{l s=’Previous’}” class=”button”>&laquo; {l s=’Previous’}</a></p>

Y sustituir el step=2 por el step=1, así cuando estemos en el paso de pago si queremos volver atrás, volveremos al paso de “Direcciones”:

<p class=”cart_navigation clearfix”><a href=”{$link->getPageLink(‘order’, true, NULL, “step=1″)}” title=”{l s=’Previous’}” class=”button”>&laquo; {l s=’Previous’}</a></p>

Paso 3.- Eliminar el resto

¿Ya está todo? Casi casi amigo, no te desesperes. Ahora solo nos queda eliminar el paso de envío del carrito de compra para evitar confusiones, para ello abrimos el fichero order-steps.tpl:

eliminar paso prestashop

Eliminamos el código marcado dentro del cuadro rojo de la siguiente imagen:

eliminar paso

Y cambios la numeración:

<li id=”step_end” class=”{if $current_step==’payment’}step_current{else}step_todo{/if}”>
<span><span>04</span> {l s=’Payment’}</span>
</li>

Ahora ya esta todo ;), pero vamos a dejarlo rematado con el CSS para que ocupe el 100% del ancho y no se quede un hueco en blanco donde esta el mono:

paso-4

Para ello, nos vamos al fichero en el cual estan los estilos del tema, normalmente es en el fichero global.css y sustituimos el 20% de ancho de cada paso por el 25% tal y como vemos en la siguiente imagen:

cambios css

Tip Prestashopero

Antes de que te vuelvas loco buscando el por qué no se reflejan los cambios, recuerda forzar la compilación para ver los cambios 😉

Para forzar la compilación, vamos a “Parámetros avanzados” -> “Rendimiento” y pulsamos el check de forzar compilación, guardamos, hacemos la prueba que funciona todo correctamente y volvemos a dejar la pestaña de “Nunca recompilar los archivos de las plantillas” en la página de “Rendimiento” de nuestro back-office de Prestashop.

forzar compilacion prestashop

¿Qué te ha parecido este tip para disminuir la tasa de abando de los carritos de la compra? Parece que no, pero este simple “apaño” se nota en la tienda porque la gente a veces busca 7 pies a un gato y con este arreglo sólo le puede ver 4 pies 🙂