Tutorial Magento: Ocultar precio y botón añadir al carrito
16

dic

 

Tutorial Magento: Ocultar precio y botón añadir al carrito

Tutorial Magento: Ocultar precio y botón añadir al carrito para usuarios no registrados

Esta nueva entrada del blog de Magento esta dedicada a un tutorial Magento en el que veremos como ocultar el precio y el botón de añadir al carrito para usuarios no registrados. En muchos modelos de negocio resulta útil mostrar el precio del producto y la opción de añadir productos al carrito únicamente cuando nuestros clientes están dados de alta, posibilitando por lo tanto,la compra de productos de nuestra tienda online, únicamente a usuarios registrados. Es mas, muchos modelos de negocio del tipo B2B basan su modelo de negocio en este tipo de funcionamiento, añadiéndole la posibilidad de activar la cuenta de cliente manualmente por el administrador del site desde el backend de nuestro ecommerce. Es decir, si los datos introducidos por el cliente son válidos y aceptados por el administrador de la plataforma, este procede a la validación y la activación de la cuenta cliente (este proceso también puede sincronizarse con el ERP si la validación del cliente se realiza desde el propio ERP). Si bien es cierto, que en estos casos, el formulario de registro de usuario suele distar bastante del panel de registro estándar de Magento, ya que se solicitan muchos datos extra para verificar que la empresa que se da de alta cumple con todos los requisitos especificados. En este tutorial Magento, no obstante, nos centraremos únicamente en el caso práctico que seguidamente explicamos con mas detalle.

Tutorial Magento: Caso práctico ocultar botón añadir al carrito para usuarios no registrados

Nuestro siguiente caso práctico va dirigido especialmente a un modelo de negocio B2C, pues no modificaremos el panel de registro de usuario solicitando información extra. El formulario de contacto estándar de Magento y las funcionalidades básicas ofrecidas por la plataforma son mas que suficientes para llevar a cabo el modelo de negocio de nuestra empresa en el canal online. Sin embargo, nos interesa que un cliente no logueado no pueda ni ver los precios de los productos ni añadir los productos al carrito de compra. Constatar que, por defecto, Magento tiene la posibilidad de configurar la plataforma para permitir la compra como invitado o deshabilitarla, pese a configurar la plataforma para no permitir la compra como invitado, nuestro modelo de negocio obliga a modificar el funcionamiento base de Magento para que ni mostremos los precios de los productos ni la posibilidad de añadir los productos al carrito si no estamos autenticados. En el siguiente tutorial Magento nos centraremos en llevar a cabo estas modificaciones para obtener el funcionamiento deseado.

Tutorial Magento: Estudio del caso y planificación de modificaciones a realizar

En este tutorial magento, nuestras premisas funcionales ya han sido claramente definidas:

  • Premisa 1 Tutorial Magento: Únicamente puede finalizar pedidos los usuarios autenticados
  • Premisa 2 Tutorial Magento: Solo los usuarios autenticados pueden ver el precio de nuestros productos
  • Premisa 3 Tutorial Magento: Tan solo añadirán productos al carrito de compras los usuarios que estén dados de alta como clientes en nuestra tienda online

Una vez tenemos claras estas premisas procedemos a solventar la primera de ellas mediante la configuración correcta de Magento. Para ello nos dirigimos a Sistema> Configuración y deshabilitamos la opción de compra como invitado:

Captura de pantalla 2014-12-10 a la(s) 21.31.30

Para el resto de puntos ya no basta con realizar una correcta configuración de la plataforma y debemos de realizar nuestras personalizaciones personalizando mínimamente el código de Magento. Las diversas zonas de Magento donde un usuario puede consultar los precios de un producto y añadirlo al carrito son:

  • Listado de productos: En el listado de productos visualizamos tanto el precio como el botón de añadir productos a nuestro carrito
  • Tutorial magento: Listado de productos

  • Ficha principal del producto: Mismas características que el caso anterior
  • Tutorial Magento: Ficha principal producto

  • tabla de comparación de productos: Mismas características que el caso anterior
  • Tutorial Magento: listado  de comparación

Tutorial Magento: Ocultar el precio de los productos para usuarios no registrados

En nuestro caso, vamos a implementar el desarrollo en el tma modern. Para ocultar el precio cuando los usuarios no están registrados copiaremos el fichero price.phtml de nuestro tema default al tema modern.

  • Fichero original: app/frontend/base/default/template/catalog/product/price.phtml
  • Fichero destino: app/frontend/default/modern/template/catalog/product/price.phtml

En nuestro caso el fichero price.phtml no existía en nuestro tema y por lo tanto lo creamos. Ubicamos estas lineas de código al principio del fichero

<?php
if(!Mage::getSingleton('customer/session')->isLoggedIn()){
    echo '<span><b>Login to See Price</b></span><br>';
    return;
}
?>

Cin estas sencillas líneas de código simplemente chequeamos si el usuario esta o no logueado. Si el cliente no está logueado mostramos un texto tipo para no ver los precios y no ejecutamos nada mas, por lo que la política de precios queda automáticamente deshabilitada. Si entramos por ejemplo en una ficha de producto en su información vemos que es necesario registrarse para ver los precios, aunque de momento, si podemos añadirlo al carrito:

Tutorial magento ocultar precios magento usuarios no registrados

Tutorial Magento: Ocultar botón añadir al carrito

Una vez hemos ocultado los precios para los usuarios no registrados nos falta únicamnete deshabilitar el botón de añadir al carrito de las distintas vistas añlizads

Tutorial Magento: Deshabilitar el botón añadir al carrito del listado de productos

Para ocultar el botón de añadir al carrito para usuarios no registrados en nuestro tema lo primero es copiar si no existe el fcihero list.phtml de nuetro tema deault en el tema que queremos emplear.

Fichero original: app/frontend/base/default/template/catalog/product/listml

Fichero destino: app/frontend/default/modern/template/catalog/product/list.phtml

La funcionalidad del botón añadir al carrito está ubicada en estas lineas de código:

<?php if($_product->isSaleable()): ?>
                        <p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
                    <?php else: ?>
                        <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
                    <?php endif; ?>

Para nuestro tutorial Magento debemos de actualizarlas por las siguientes líneas, donde al igual que hicimos con el precio, checkeamos si el cliente está o no logueado para mostrar el botón. Destacar que al tener las vistas (modo List y Grid) deberemos de actualizar el código para cada una de ellas:

<?php if(!Mage::getSingleton('customer/session')->isLoggedIn()){
                        echo '<span><p>LOGIN TO ADD TO CART</p></span>';
                        }
                        else{
                    ?>
                    <?php if($_product->isSaleable()): ?>
                        <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
                    <?php else: ?>
                        <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
                    <?php endif; ?>
                    <?php    }?>

Si ahora entramos en cualquier vista del listado, tal y como hemos comentado veremos que no se muestra ni el precio ni el botón de añadir al carrito para usuarios no registrados:

Tutorial Magento: deshabilitar añadir al carrito para usuarios no logueados

Tutorial Magento: Deshabilitar el botón añadir al carrito de la ficha principal del producto

Realizaremos la misma operación en la ficha de producto. Para ello copiamos si no existe el fichero addtocart.phtml

Fichero original: app/frontend/base/default/template/catalog/product/view/addtocart.phtml

Fichero destino: app/frontend/default/modern/template/catalog/product/addtocart.phtml

Y añadimos el código que verifica si estamos o no logueados al principio del fichero:

?php $_product = $this->getProduct(); ?>
<?php
if(!Mage::getSingleton('customer/session')->isLoggedIn()){
    echo '<span><b>Login to ADD TO CART</b></span><br>';
    return;
}
?>

La nueva apariencia de la información de nuestro producto es:

Tutorial Magento: ficha de porducto sin precio ni añadir al carrito usuarios no logeados

Como observamos el resultado es idéntico al caso de los listados

Tutorial Magento: Deshabilitar el botón añadir al carrito del comparador

Para ocultar el botón de añadir al carrito para usuarios no registrados dentro del comparador en el tema modern copiaremos o creremos en caso de que no exista el fichero list.phtml ubicado en el directorio compare.

Fichero original: app/frontend/base/default/template/catalog/product//compare/list.phtml

Fichero destino: app/frontend/default/modern/template/catalog/product/compare/list.phtml

La funcionalidad del botón añadir al carrito está ubicada en estas lineas de código:

<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setPLocation('<?php echo $this->helper('catalog/product_compare')->getAddToCartUrl($_item) ?>', true)"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
                    <?php else: ?>
                        <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>

La actualizamos por el código que empleamos en la ficha de producto obteniendo los mismos resultados

Tutorial Magento: Conclusiones

En este tutorial Magento hemos analizado como ocultar los precios y la funcionalidad de añadir productos al carrito de compra para usuarios no registrados de una forma rápida y sencilla. Si bien es cierto que en un modelo de negocio B2B tradicional, que es donde con mayor frecuencia se suelen emplear este tipo de funcionalidades, el formulario de registro de clientes, suele contar con una cantidad de campos muy superior al que por defecto presenta Magento este tutorial Magento sirve como punto de partida y enfoque hacia nuevas personalizaciones y nuevos desarrollos de nuestra plataforma de comercio electrónico.

Si estás interesado en obtener mas información para adaptar tu tienda online a tu modelo de negocio puedes visitar la página de desarrollo Magento dentro de la zona de servicios ecommerce:


Magento

Espero que este Tutorial Magento os sea de utilidad para aprender mas acerca de vuestro ecommerce.

Resumen
Nombre
Tutorial Magento: Ocultar botón añadir al carrito para usuarios no registrados
Autor
Descripción
Tutorial Magento. Tutorial Magento: Ocultar botón añadir al carrito. Tutorial Magento para ocultar botón de añadir al carrito para usuarios no registrados.
The following two tabs change content below.
Especialista en Magento y servicios ecommerce: Consultoría ecommerce, Optimización Magento, Desarrollo Magento, Integración Magento ERP y Posicionamiento SEO Magento.


Deja un comentario
 

Tu email no será publicado. Campos obligatorios . *