Eliminar el carrito de la compra en PrestaShop

    Eliminar el carrito de la compra en PrestaShop

    Si hablamos de CMS o sistema de gestión de contenido para comercio electrónico, sin duda uno de los más famosos y utilizados es PrestaShop, que está disponible de forma gratuita y es de código abierto; si tienes productos o artículos que vender, tan solo necesitas un dominio, un servidor web e instalar PrestaShop. Aunque como CMS se podría utilizar para hacer otros tipos de páginas web, es en un eCommerce donde demuestra todo su potencial y para lo que fue específicamente diseñado; pero si por ejemplo queremos crear una página solo para subastas, simplemente habría que instarle un módulo o plugin específico para llevar la gestión y el conteo de las pujas. La única pega es que nos podemos encontrar con algún remanente de la estructura de una tienda online y que no es necesario para un sistema de subastas, como por ejemplo el icono y la función del carrito de la compra. Y como es verdad que para modificar y adaptar algunas cosas en PrestaShop es fundamental y necesario tener conocimientos de programación, vamos a ver en este post una forma de eliminar el carrito de la compra en PrestaShop paso a paso.

     

     

    El entorno PrestaShop

     

    Aunque con unos mínimos conocimientos es posible montar un eCommerce con PrestaShop, también es verdad que se necesita un cierto nivel técnico para llevar un pasito más allá el diseño de la página o tirar de tarjeta de crédito para pagar los diferentes módulos que añadirán nuevas funcionalidades y así conseguir un site más profesional. De todas formas, el desarrollo de una web con PrestaShop es un proceso fácil e intuitivo siempre y cuando no nos salgamos del patrón preestablecido para crear una tienda online; la mayoría de recursos están grabados a fuego en las tripas del programa y todo sigue unas pautas definidas de ejecución y presentación. Incluso las plantillas que instalemos se rigen por esas pautas y no dejan mucho margen de maniobra.

    Todo cambio de guión en PrestaShop lleva implícito un ajuste en sus mecánicas internas que conlleva la inevitable apertura de archivos y edición del código de los mismos. Para el caso que vamos a tratar en esta entrada, una página web de subastas con PrestaShop, nos encontramos que algunas funcionalidades nos van a seguir sirviendo en nuestro propósito, como la base de datos del catálogo de productos, las categorías o el registro de clientes; otras como las reglas de precios o los carritos de la compra son totalmente prescindibles e incluso no aportan nada a nuestro objetivo.

    En una subasta, el usuario entra en la página, se registra y puja por los artículos de su elección; cuando termina el periodo de subasta, se cierran las pujas y se comunica a cada ganador el resultado final. En este caso, no hay nada que añadir al carrito de la compra, no hay un listado en donde guardar productos y luego pagar para hacer el pedido, por lo que esta característica no nos sirve de nada. Aunque debería ser sencillo eliminarlo de nuestra página, es más complicado de lo que parece, y según la plantilla que estemos utilizando, nos podemos encontrar en el menú de nuestra página el icono fantasma del carrito y que al pulsar sobre él no haga nada, simplemente está ahí.

    Como ya tenemos claro cuál es nuestra misión, vamos al lío.

     

    Objetivo: el carrito de la compra en PrestaShop

     

    Lo primero, y desde nuestro back-office de PrestaShop, habrá que ir al menú Módulos->Módulos, buscar el del carrito de la compra (Blockcart en inglés) y deshabilitarlo. Una vez hecho esto, entramos ahora en el submenú Módulos->Posiciones de los módulos y lo eliminamos de la categoría Top of pages/Header of pages.

    Aunque es posible que con estos pasos ya no aparezca en nuestra web, es probable que la plantilla por defecto siga mostrando el icono en pantalla. Para eliminarlo completamente, hay que editar un mismo archivo que se encuentra en dos localizaciones diferentes; para ello, y desde el administrador de archivos de nuestro hosting, debemos encontrar el archivo blockuserinfo.tlp (controla la información que aparece en el bloque de cabecera) y que está en dos ubicaciones diferentes:

     

    1. /modules/blockuserinfo/blockuserinfo.tlp
    2. /themes/tutema/modules/blockuserinfo/blockuserinfo.tlp

     

    donde “tutema” es el nombre del directorio de la plantilla que estés utilizando. Una vez localizado estos dos archivos (que son el mismo pero uno es el genérico de la web y el otro de la plantilla), sustituimos el código de cada archivo por el siguiente:

     

    <!-- Block user information module HEADER -->
    
    <div id="header_user">
    
    <ul id="header_nav">
    
    <!--{if !$PS_CATALOG_MODE}
    
    <li id="shopping_cart">
    
    <a href="{$link->getPageLink($order_process, true)}" title="{l s='Your Shopping Cart' mod='blockuserinfo'}">{l s='Cart:' mod='blockuserinfo'}
    
    <span class="ajax_cart_quantity{if $cart_qties == 0} hidden{/if}">{$cart_qties}</span>
    
    <span class="ajax_cart_product_txt{if $cart_qties != 1} hidden{/if}">{l s='product' mod='blockuserinfo'}</span>
    
    <span class="ajax_cart_product_txt_s{if $cart_qties < 2} hidden{/if}">{l s='products' mod='blockuserinfo'}</span>
    
    <span class="ajax_cart_total{if $cart_qties == 0} hidden{/if}">
    
    {if $cart_qties > 0}
    
    {if $priceDisplay == 1}
    
    {assign var='blockuser_cart_flag' value='Cart::BOTH_WITHOUT_SHIPPING'|constant}
    
    {convertPrice price=$cart->getOrderTotal(false, $blockuser_cart_flag)}
    
    {else}
    
    {assign var='blockuser_cart_flag' value='Cart::BOTH_WITHOUT_SHIPPING'|constant}
    
    {convertPrice price=$cart->getOrderTotal(true, $blockuser_cart_flag)}
    
    {/if}
    
    {/if}
    
    </span>
    
    <span class="ajax_cart_no_product{if $cart_qties > 0} hidden{/if}">{l s='(empty)' mod='blockuserinfo'}</span>
    
    </a>
    
    </li>
    
    {/if}-->
    
    <li id="your_account"><a href="{$link->getPageLink('my-account', true)}" title="{l s='Your Account' mod='blockuserinfo'}">{l s='Your Account' mod='blockuserinfo'}</a></li>
    
    </ul>
    
    <p id="header_user_info">
    
    {l s='Welcome' mod='blockuserinfo'}
    
    {if $logged}
    
    <a href="{$link->getPageLink('my-account', true)}" class="account"><span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span></a>
    
    <a href="{$link->getPageLink('index', true, NULL, "mylogout")}" title="{l s='Log me out' mod='blockuserinfo'}" class="logout">{l s='Log out' mod='blockuserinfo'}</a>
    
    {else}
    
    <a href="{$link->getPageLink('my-account', true)}" class="login">{l s='Log in' mod='blockuserinfo'}</a>
    
    {/if}
    
    </p>
    
    </div>
    
    <!-- /Block user information module HEADER -->

     

    El código simplemente le dice a PrestaShop que no muestre por pantalla ningún “shopping cart” en la cabecera; si entiendes algo de código, podrás ver que este solo cambia las líneas de instrucciones que hacen referencia al carrito de la compra y las define como comentarios en la programación. Si lo deseas, añade el comando a mano o lo más rápido, pega todo el código encima y listo.

    Y ya está. Sonaba más complicado de lo que finalmente es, pero como has comprobado el proceso no lleva más de un rato; y si ya estás familiarizado con PrestaShop, ahora que has visto con este ejemplo un poco más de la mecánica interna, espero que te animes a seguir indagando en busca de atajos para poder personalizar aún más tu web creada con este CMS. Y si necesitabas conocer el truco para tu proyecto de web, me alegra ser de ayuda.

     

    Si algún paso no está del todo claro o necesitas algún consejo más, rellena los comentarios con todas tus dudas.

     

    Tagged , , , . Bookmark the permalink.

    8 Responses to Eliminar el carrito de la compra en PrestaShop

    1. toti says:

      Felicidades por el tutorial. Claro y conciso.

      Sólo una pregunta;
      Cuando comentas ‘desde el administrador de archivos de nuestro hosting’, supongo que te refieres a ir al hosting por cualquier medio de FTP.
      Una vez dentro del hosting localizar ambos archivos y modificarlos convenientemente.

      Como habrás podido apreciar no soy muy experto en estas cuestiones y me cuesta un poco seguir ciertos pasos.

      Un saludo: toti

      • MiguelAngelddl says:

        Hola Toti, muchas gracias por la visita y por tu comentario.

        En cuanto a tu duda, así es, tienes que acceder al alojamiento web donde tengas ubicado físicamente el Prestashop. Normalmente, no hace falta utilizar FTP para acceder a las carpetas, seguro que encontrarás una herramienta llamada “administrador de archivos” o algo parecido; se usa como un explorador de archivos en Windows por ejemplo, y podrás cambiar nombres y extensiones fácilmente.

        No te preocupes, aquí estamos todos para aprender. 🙂 Mira a ver si puedes cambiar los archivos siguiendo el tutorial. Si tienes cualquier otra duda o problema, házmelo saber. Prestashop se ha actualizado recientemente y es posible que algún nombre de archivo esté cambiado de sitio, y así de paso editamos si es necesario algún paso.

        Un saludo.

    2. gaston says:

      estimado:
      yo tengo el siguiente problema con la tienda PRESTASHOP. en la misma, no me aparece el carro de compras cuando quiero elegir los traibutos del producto, solo me aparece el carro en el listado general, y el cliente no puede elegir la combinacion correcta (es una tienda de zapatos, no deja elegir color ni talla)

      • MiguelAngelddl says:

        Hola, que tal.

        Bueno, así sin verlo es difícil encontrar el problema. Prueba a ver si en el menú “Preferencias->Productos” está marcado para que muestre el botón de añadir al carrito cuando el producto tenga atributos. Otra cosa sería comprobar si el stock de productos está bien configurado, o si en “disponibilidad” hay indicado un número mínimo de artículos para realizar la compra.

        Saludos.

    3. Hi Miguel,
      I have a question about MailChimp’s Email service since you were so helpful before. I hope it’s okay I am writing here.
      MailChimp is giving me a warning I need a business Email. It can’t say “J********@gmail.com” anymore. Do you know anything about this? What do I do?
      Thanks,
      Janice

      • MiguelAngelddl says:

        Hi Janice.

        Maybe your email was blocked, a spam filter have interpreted your campaign content as spam.
        If you use a free email service like Gmail for the address you provide, a warning may appear that recommends registering for a domain. Free email service can affect the deliverability of emails sent by MailChimp, so yeah you have to use a business email you own.

        Best regards.

        • I don’t own a business Email. How do I get one?

          • MiguelAngelddl says:

            It´s easy: through the company that hosts your website. Login to your account and look for the “email” option.
            This way, you’ll have your name’s registered domain in the email address. For example: J****@mostlyblogging.com. 🙂

    Comparte un comentario:

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.