Basic Cart

Un sistema simple de carrito de compras y checkout para Drupal que envía notificaciones por correo electrónico después de los pedidos y proporciona bloques de gestión del carrito.

basic_cart
825 sites
35
drupal.org

Instalar

Drupal 11, 10 v8.x-8.11
composer require 'drupal/basic_cart:8.x-8.11'

Overview

Basic Cart es una solución de comercio electrónico ligera diseñada para sitios web pequeños que necesitan funcionalidad simple de carrito de compras sin la complejidad de plataformas de comercio completas. Permite a los administradores del sitio habilitar la funcionalidad "Añadir al carrito" en cualquier tipo de contenido, lo que lo hace ideal para vender productos, servicios u ofertas turísticas.

El módulo crea automáticamente un tipo de contenido de pedido (basic_cart_order) para almacenar información del cliente y artículos comprados. Cuando un cliente completa el checkout, el sistema envía notificaciones por correo electrónico configurables tanto al administrador del sitio como al cliente. Los datos del carrito pueden almacenarse en almacenamiento de sesión o en tablas de base de datos (para usuarios registrados que deseen carritos persistentes).

Basic Cart soporta visualización de precios con formato de moneda personalizable, cálculos de IVA/impuestos y gestión de cantidades. Proporciona dos bloques: uno que muestra el contenido del carrito con un enlace "Ver carrito", y otro que muestra solo el recuento de artículos del carrito con un icono visual de carrito.

Features

  • Habilitar botón 'Añadir al carrito' en cualquier tipo de contenido seleccionado mediante configuración
  • Almacenamiento de carrito basado en sesión con persistencia opcional en base de datos para usuarios registrados
  • Notificaciones por correo electrónico configurables a administradores y clientes al completar el pedido
  • Soporte de cálculo de IVA/impuestos con configuración basada en porcentaje
  • Múltiples opciones de formato de precio (8 formatos diferentes con posicionamiento de moneda)
  • Gestión de cantidades con incremento/decremento al añadir al carrito
  • Bloque de carrito mostrando artículos, cantidades, precios y total
  • Bloque de contador de carrito con tamaño de icono y posicionamiento personalizable
  • Tipo de contenido de pedido con campos de cliente (nombre, correo electrónico, teléfono, dirección, ciudad, código postal, mensaje)
  • Interfaz de administración basada en Views para ver y gestionar pedidos
  • Página de agradecimiento personalizada con título y mensaje configurables o redirección a URL personalizada
  • Soporte de Token para plantillas de correo electrónico ([basic_cart_order:products], [basic_cart_order:basic_cart_total_price], etc.)
  • Funcionalidad de añadir al carrito con AJAX y retroalimentación animada
  • Comando Drush para habilitar por lotes añadir al carrito para todos los nodos de tipos registrados
  • Acción masiva para habilitar añadir al carrito para nodos seleccionados

Use Cases

Catálogo de productos simple

Un sitio web de pequeña empresa vendiendo un número limitado de productos (ej., artesanías hechas a mano, productos locales). Crea un tipo de contenido 'Producto', habilítalo en la configuración de Basic Cart, añade nodos de producto con precios y crea un listado de Views. Los clientes pueden añadir artículos al carrito y realizar el checkout proporcionando información de contacto.

Solicitudes de reserva de servicios

Un negocio de servicios (ej., consultoría, reparaciones del hogar) donde los clientes pueden seleccionar servicios y solicitar cotizaciones. Crea un tipo de contenido 'Servicio', habilita añadir al carrito y personaliza el formulario de checkout. Los pedidos sirven como solicitudes de servicio con información de contacto del cliente.

Reservas de entradas para eventos

Un lugar o organizador de eventos que permite a los visitantes reservar entradas. Crea un tipo de contenido 'Evento' con precio de entrada, habilita cantidad para compras de múltiples entradas y usa el sistema de pedidos para recopilar información de los asistentes.

Ofertas de paquetes turísticos

Un sitio web de turismo ofreciendo paquetes vacacionales o tours. Crea un tipo de contenido 'Paquete turístico' con precios, habilita añadir al carrito y permite a los visitantes construir su viaje añadiendo múltiples paquetes al carrito antes del checkout.

Catálogo de descargas digitales

Un sitio web que ofrece productos digitales (plantillas, ebooks, software). Crea un tipo de contenido 'Producto digital' con precios. Como no se necesita envío, el checkout básico con notificación por correo electrónico proporciona todo lo necesario para procesar pedidos.

Tips

  • Usa el formateador 'Añadir al carrito con cantidad' en páginas de visualización de productos y el formateador básico 'Añadir al carrito' en vistas de teaser/listado para una interfaz más limpia.
  • Crea un modo de vista personalizado llamado 'basic_cart_order' para tus tipos de contenido de producto para controlar exactamente qué información aparece en los correos de pedido y la vista de administración de pedidos.
  • Usa el Cart Count Block en una posición flotante/fija para visibilidad persistente del carrito en todas las páginas.
  • Configura la redirección de la página de agradecimiento a una URL personalizada si deseas mostrar una confirmación de pedido más detallada o integrar con sistemas externos.
  • Usa la acción masiva 'Habilitar añadir al carrito' desde operaciones masivas de Views para habilitar rápidamente añadir al carrito en muchos productos existentes.
  • Usa el comando Drush 'drush baca-en' para habilitar por lotes añadir al carrito en todos los nodos después de habilitar inicialmente un tipo de contenido.

Technical Details

Admin Pages 3
Configuración de Basic Cart /admin/config/basic-cart/settings

Configura los ajustes principales del carrito de compras incluyendo tipos de contenido, moneda, precios, IVA, opciones de pedido y etiquetas de texto personalizables.

Configuración de checkout de Basic Cart /admin/config/basic-cart/checkout

Configura las notificaciones por correo electrónico enviadas a administradores y clientes después de realizar un pedido, y personaliza la página de agradecimiento.

Pedidos de Basic Cart /basic-cart-orders

Página administrativa basada en Views que muestra todos los pedidos realizados en formato de tabla con información del cliente, contenido del pedido, IVA, precio total y fecha de compra. Accesible a través del menú de administración.

Permisos 4
Usar basic cart

Permite a los usuarios añadir artículos al carrito, eliminar del carrito y completar el checkout.

Administrar basic cart

Realizar tareas de administración para basic cart incluyendo acceso a páginas de configuración.

Ver pedidos de basic cart

Ver nodos de pedido de basic cart y acceder a la página de listado de pedidos.

Crear pedidos directos

Crear pedidos directos sin añadir al carrito y sin productos. Se recomienda habilitar solo para administradores.

Hooks 1
hook_basic_cart_tokens

Proporciona tokens personalizados para usar en plantillas de correo electrónico. El módulo define tokens bajo el tipo de token 'basic_cart_order'.

Drush Commands 1
drush basic-cart:enable-add-to-cart

Habilita añadir al carrito para todos los nodos de todos los tipos de contenido registrados. Procesa nodos en lotes de 50 para gestionar el uso de memoria.

Troubleshooting 5
El botón añadir al carrito no aparece en el contenido

Asegúrate de que el tipo de contenido esté seleccionado en la configuración de Basic Cart (/admin/config/basic-cart/settings). Verifica que el campo 'Añadir al carrito' esté habilitado (marcado) al editar el nodo. También verifica que la configuración de visualización del tipo de contenido incluya el campo add_to_cart.

Los datos del carrito no persisten después de cerrar sesión

Habilita la opción 'Persistir datos del carrito' en la configuración de Basic Cart. Esto almacena el carrito en la base de datos para usuarios registrados. Ten en cuenta que los usuarios anónimos siempre usan almacenamiento de sesión que se borra al cerrar el navegador.

Los correos electrónicos no se envían después del pedido

Verifica las direcciones de correo del administrador en la configuración de Checkout. Comprueba que el sistema de correo de tu sitio esté correctamente configurado. Revisa los mensajes de registro recientes de Drupal para cualquier error relacionado con el correo. Asegúrate de que 'Enviar un correo electrónico al cliente' esté marcado si se esperan correos al cliente.

Los precios no se muestran correctamente

Habilita tanto 'Habilitar precio' como 'Habilitar moneda' en la configuración del carrito. Selecciona el formato de precio apropiado. Asegúrate de que los productos tengan el campo add_to_cart_price completado.

AJAX de añadir al carrito no funciona

Asegúrate de que la configuración 'Redirección de añadir al carrito' esté vacía o configurada a '<none>' para que AJAX funcione. Verifica la consola del navegador para errores de JavaScript. Verifica que la biblioteca core/drupal.ajax se esté cargando correctamente.

Security Notes 4
  • El módulo usa el sistema de permisos estándar de Drupal. Otorga el permiso 'Usar basic cart' con cuidado ya que permite añadir artículos y realizar checkout.
  • El permiso 'Crear pedidos directos' evita el carrito por completo y solo debe otorgarse a administradores de confianza.
  • Los datos de pedidos se almacenan como nodos. Revisa y configura los permisos de acceso a nodos apropiadamente para el tipo de contenido basic_cart_order.
  • Las direcciones de correo electrónico ingresadas por los clientes se almacenan en los nodos de pedido. Asegura controles de acceso apropiados y considera los requisitos de cumplimiento del RGPD.