Skip to main content

⚠️ Aviso importante

Las plantillas personalizadas requieren conocimientos técnicos avanzados de HTML, CSS, JavaScript y React. Asegúrate de tener suficiente experiencia en desarrollo o acceso a un desarrollador de Shopify calificado antes de continuar. Nuestro equipo de soporte no proporcionará asistencia con el desarrollo, la depuración o la solución de problemas de plantillas personalizadas. Las preguntas técnicas deben dirigirse a un Shopify expert o a un desarrollador calificado.

Funciones del editor de código

El editor de código de plantillas personalizadas incluye herramientas integradas para ayudarte a escribir plantillas válidas más fácilmente.

TypeScript IntelliSense

El editor entiende TypeScript, por lo que obtienes sugerencias de autocompletado, verificación de tipos y documentación en línea para todas las props disponibles mientras escribes. Las sugerencias de tipos de props son IntelliSense exclusivo del editor para ayudarte a escribir plantillas — no son algo que escribas en la plantilla y nunca se ejecutan en tu tienda.

Cuerpo de plantilla editable

El editor expone solo el cuerpo JSX editable de tu plantilla — no hay líneas bloqueadas. El envoltorio de función circundante se agrega automáticamente en tiempo de compilación y nunca se muestra en el editor. Usa Reset to default en cualquier momento para restaurar la plantilla original si tus ediciones rompen la estructura de la plantilla.

Sección General

El módulo Header te permite personalizar el encabezado del carrito con tu propio diseño manteniendo la funcionalidad esencial del carrito, como mostrar el recuento de artículos y ofrecer un botón de cierre.

Props disponibles - Plantilla completa

cartQuantity
  • Tipo: string
  • Descripción: El número actual de artículos en el carrito, formateado como cadena
  • Uso: Muestra el recuento de artículos del carrito en tu diseño de encabezado personalizado
closeHandler
  • Tipo: () => void
  • Descripción: Una función de callback que cierra el carrito cuando se activa
  • Uso: Adjúntala a botones, íconos u otros elementos interactivos para cerrar el carrito
titleComponent
  • Tipo: React.ReactElement | null
  • Descripción: Un componente de título prerenderizado para el encabezado del carrito que incluye el estilo y las traducciones adecuados
  • Uso: Muestra el título del carrito según la configuración de los ajustes de tu carrito

Sección Body

Anuncios

El módulo Announcements te permite personalizar la visualización de anuncios con tu propio diseño manteniendo la funcionalidad esencial de anuncios, como los controles de temporizador y la visibilidad condicional.

Props disponibles - Plantilla completa

announcementTemplate
  • Tipo: string
  • Descripción: El contenido HTML del mensaje del anuncio
  • Uso: Muestra el mensaje del anuncio en tus implementaciones personalizadas
timer
  • Tipo: string
  • Descripción: El valor actual del temporizador formateado como cadena
  • Uso: Muestra el temporizador de cuenta regresiva en implementaciones personalizadas de anuncios
shouldUseTimer
  • Tipo: boolean
  • Descripción: Indica si la funcionalidad de temporizador está habilitada para este anuncio
  • Uso: Renderiza condicionalmente contenido y controles relacionados con el temporizador
isTimerExpiredAndShouldHide
  • Tipo: boolean
  • Descripción: Indica si el temporizador ha expirado y el anuncio debe ocultarse
  • Uso: Controla la visibilidad de todo el anuncio según el estado del temporizador

Recompensas por niveles

El módulo Rewards te permite personalizar la visualización del progreso de recompensas con tu propio diseño manteniendo la funcionalidad esencial de recompensas, como el seguimiento de hitos, la visualización del progreso y los mensajes de recompensa.

Props disponibles - Plantilla completa

rewardsMessageHtml
  • Tipo: string
  • Descripción: El contenido HTML del mensaje de recompensas
  • Uso: Muestra el mensaje de recompensas con formato enriquecido en implementaciones personalizadas
milestonesCompleted
  • Tipo: number
  • Descripción: El número de hitos que se han completado
  • Uso: Muestra el recuento de finalización o calcula el porcentaje de finalización
milestonesData
  • Tipo:
  • Descripción: Configuración completa de hitos y datos de progreso para el sistema de recompensas
  • Uso: Accede a la información de hitos, el porcentaje de progreso y los ajustes de visualización
  • Propiedades:
    • milestonesToRender: Array de objetos de hito con estado de finalización y posicionamiento
    • progressPercent: Progreso actual como porcentaje (0-100)
    • showMilestones: Si se deben mostrar los marcadores de hitos
    • settings: Configuración visual para la visualización de hitos

Descuentos

El módulo Discounts admite plantillas personalizadas para que puedas diseñar tu propia visualización manteniendo la funcionalidad esencial, como la gestión de reglas, la visibilidad de la sección y la presentación de recompensas. El identificador interno del tipo de módulo para plantillas personalizadas es TRIGGERED_REWARDS por compatibilidad con código de plantillas personalizadas existente.

Props disponibles - Plantilla completa

rules
  • Tipo:
  • Descripción: Array de reglas de Discount que están habilitadas actualmente
  • Uso: Muestra las recompensas disponibles, sus títulos, descripciones y si se cumplieron las condiciones de cada regla
  • Propiedades:
    • id: Identificador único de la regla de recompensa
    • title: Título de la regla de Discount
    • description: Descripción de la regla de recompensa
    • conditionsMet: Si las condiciones de la regla se cumplen actualmente en el carrito. Úsalo para construir patrones de UX del tipo “desbloqueaste X” frente a “gasta $Y más para desbloquear X”
showSection
  • Tipo: boolean
  • Descripción: Indica si la sección Discounts debe mostrarse
  • Uso: Controla la visibilidad de todo el módulo Discounts
onToggleSection
  • Tipo: () => void
  • Descripción: Una función de callback que alterna el estado de visibilidad de la sección Discounts
  • Uso: Adjúntala a botones o elementos interactivos para permitir que los usuarios muestren u oculten la sección de recompensas

Recomendaciones

El módulo Recommendation te permite personalizar la visualización de productos de upsell con tu propio diseño manteniendo la funcionalidad esencial de e-commerce, como la selección de variantes, las acciones de agregar al carrito y la visualización de información del producto.

Props disponibles - Plantilla de mosaico de recomendación

La plantilla de mosaico de recomendación comparte la misma interfaz de props que la plantilla de mosaico de upsell del módulo Upsells. Todas las props disponibles, tipos y ejemplos de uso están documentados en la sección del módulo Upsells más abajo.

Artículos del carrito

El módulo Cart Items te permite personalizar la visualización de los artículos del carrito con tu propio diseño manteniendo la funcionalidad esencial de e-commerce. Este módulo proporciona múltiples tipos de plantilla, cada uno con sus propias props específicas para diferentes aspectos de la visualización de los artículos del carrito.
Mostrar un indicador de carga al agregar al carrito o durante actualizaciones del carrito: El módulo estándar Cart Items no expone un spinner integrado de “agregando al carrito”. Si quieres mostrar un estado de carga mientras se agrega un artículo o hay una operación del carrito en curso, usa la plantilla Product tile y lee las props isLoading y loadingOperation (documentadas más abajo) para renderizar condicionalmente un spinner o una superposición. Las plantillas personalizadas requieren experiencia como desarrollador — consulta el aviso al principio de esta página.

Props disponibles - Plantilla Product tile

Nota: Habilitar la plantilla Product Tile anulará todas las demás plantillas de este módulo, incluidas la plantilla Variant, la plantilla Properties, la plantilla Bundle y la plantilla Price.
Si quieres usar código personalizado en cualquiera de esas plantillas, debes desactivar la plantilla Product Tile.
title
  • Tipo: string
  • Descripción: El título/nombre del producto
  • Uso: Muestra el nombre principal del producto en los artículos del carrito
variant
  • Tipo: React.ReactNode
  • Descripción: Componente prerenderizado con la información de la variante
  • Uso: Muestra los detalles de la variante como componente de React
properties
  • Tipo: React.ReactNode
  • Descripción: Componente prerenderizado con las propiedades del producto
  • Uso: Muestra las propiedades del producto y la información de suscripción como componente de React
bundle
  • Tipo: React.ReactNode
  • Descripción: Componente prerenderizado con los detalles del bundle
  • Uso: Muestra la información del bundle como componente de React
compareAtPrice
  • Tipo: string | undefined
  • Descripción: Precio de comparación formateado (precio original)
  • Uso: Muestra el precio original de los artículos en oferta
price
  • Tipo: string
  • Descripción: Precio actual formateado
  • Uso: Muestra el precio actual del artículo
savings
  • Tipo: string | undefined
  • Descripción: Importe de ahorro formateado
  • Uso: Muestra cuánto ahorra el cliente
imageUrl
  • Tipo: string | undefined
  • Descripción: URL de la imagen del producto
  • Uso: Muestra la imagen del producto
productUrl
  • Tipo: string | undefined
  • Descripción: URL de la página del producto
  • Uso: Enlaza a la página de detalle del producto
quantity
  • Tipo: number
  • Descripción: Cantidad actual del artículo en el carrito
  • Uso: Muestra y gestiona la cantidad del artículo
showQuantitySelector
  • Tipo: boolean
  • Descripción: Si se deben mostrar los controles de cantidad
  • Uso: Muestra condicionalmente el selector de cantidad
discountCodes
  • Tipo: string[] | undefined
  • Descripción: Array de códigos de descuento aplicados a este artículo
  • Uso: Muestra descuentos específicos del artículo
subscription
  • Tipo:
  • Descripción: Objeto completo de gestión de suscripciones con datos de mejora, planes de venta y funciones controladoras
  • Uso: Gestiona la funcionalidad de suscripción
  • El objeto subscription contiene:
    • subscriptionUpgradeData: Información de mejora (null si no hay mejora disponible)
      • buttonText: Texto del botón de mejora
      • defaultSellingPlanId: ID del plan de venta predeterminado para las mejoras
    • sellingPlansData: Opciones de planes de venta disponibles (null si no hay planes)
      • sellingPlanGroups: Array de grupos de planes con sus planes de venta
      • activeSellingPlanId: ID del plan de venta seleccionado actualmente
      • oneTimePurchaseText: Texto de la opción de compra única (null si no está disponible)
    • upgradeSellingPlan: Función para pasar a un plan de venta específico
    • changeSellingPlan: Función para cambiar el plan de venta actual
    • getSellingPlanGroupText: Función utilitaria para formatear el texto de visualización del plan de venta
onIncrease
  • Tipo: () => void
  • Descripción: Función para aumentar la cantidad del artículo
  • Uso: Gestiona las acciones de aumento de cantidad
onDecrease
  • Tipo: () => void
  • Descripción: Función para disminuir la cantidad del artículo
  • Uso: Gestiona las acciones de disminución de cantidad
onDeleteProduct
  • Tipo: () => void
  • Descripción: Función para eliminar el artículo del carrito
  • Uso: Gestiona la eliminación de artículos
onQuantityChange
  • Tipo: (quantity: string) => void
  • Descripción: Función para gestionar la entrada directa de cantidad
  • Uso: Gestiona los cambios manuales de cantidad
handleInputChange
  • Tipo: (e: React.ChangeEvent<HTMLInputElement>) => void
  • Descripción: Controlador de cambios de entrada para el campo de cantidad
  • Uso: Gestiona los cambios del campo de entrada de cantidad
replaceItemWithVariant
  • Tipo: (variantId: string) => Promise<{ success: boolean }>
  • Descripción: Función para reemplazar el artículo con una variante diferente
  • Uso: Gestiona el cambio de variantes
isLoading
  • Tipo: boolean
  • Descripción: Estado de carga para las operaciones del carrito
  • Uso: Muestra indicadores de carga
loadingOperation
  • Tipo: 'increase' | 'decrease' | 'inputChange' | 'remove' | 'subscription' | undefined
  • Descripción: Operación específica que se está cargando actualmente
  • Uso: Muestra estados de carga específicos de cada operación
setLoadingOperation
  • Tipo: (op: "increase" | "decrease" | "inputChange" | "remove" | "subscription" | undefined) => void
  • Descripción: Función para establecer el estado de la operación de carga
  • Uso: Gestiona los estados de carga de las distintas operaciones
rawItem
  • Tipo: CartItem (consulta el tipo CartItem más abajo)
  • Descripción: Datos sin procesar del artículo del carrito que contienen toda la información

Props disponibles - Plantilla Variant

item
  • Tipo: CartItem (consulta el tipo CartItem más abajo)
  • Descripción: Datos sin procesar del artículo del carrito que contienen la información de la variante
  • Uso: Accede a los detalles de la variante desde el artículo del carrito

Props disponibles - Plantilla Properties

productProperties
  • Tipo: { key: string; value: string; isUrl?: boolean; }[]
  • Descripción: Array de propiedades del producto (campos personalizados, propiedades de artículo de línea)
subscriptionLabel
  • Tipo: string | undefined
  • Descripción: Etiqueta para la información de suscripción

Props disponibles - Plantilla Bundle

getSizedImageUrl
  • Tipo: getSizedImageUrl: ({ src, width, height }: SizedImageParams) => string
  • Descripción: Función utilitaria para obtener URLs de imágenes con el tamaño adecuado
item
  • Tipo:
  • Descripción: Información del artículo bundle incluidos sus componentes. itemComponents es un array de objetos componente — itera sobre él para renderizar cada componente incluido.
showDetailsText
  • Tipo: string | undefined
  • Descripción: Texto para la acción de “mostrar detalles”
  • Uso: Muestra el texto del botón de expansión
hideDetailsText
  • Tipo: string | undefined
  • Descripción: Texto para la acción de “ocultar detalles”
isExpanded
  • Tipo: boolean
  • Descripción: Si los detalles del bundle están expandidos
toggleCollapsible
  • Tipo: () => void
  • Descripción: Función para alternar la visibilidad de los detalles del bundle
  • Uso: Gestiona las acciones de expandir/contraer
chevronDownIconComponent
  • Tipo: React.ReactElement
  • Descripción: Ícono de chevron prerenderizado para expandir/contraer
  • Uso: Muestra un indicador de expandir/contraer consistente

Props disponibles - Plantilla Price

compareAtPrice
  • Tipo: string | undefined
  • Descripción: Precio de comparación formateado (precio original)
  • Uso: Muestra el precio original de los artículos en oferta
price
  • Tipo: string
  • Descripción: Precio actual formateado
  • Uso: Muestra el precio actual del artículo
savings
  • Tipo: string | undefined
  • Descripción: Importe de ahorro formateado
  • Uso: Muestra cuánto ahorra el cliente

Propiedades del objeto CartItem

El objeto CartItem contiene toda la información detallada sobre un artículo de línea del carrito. Este objeto está disponible como props.rawItem en la plantilla Product Tile y como props.item en la plantilla Variant.

Identificación principal

  • key (string) - Identificador único de este artículo del carrito.
  • id (number) - ID de la variante (campo heredado, usa variant_id en su lugar)
  • variant_id (number) - El ID de variante de Shopify para este artículo
  • product_id (number) - El ID de producto de Shopify
  • lineIdxFrom1 (number) - Índice basado en 1 de este artículo en el carrito original antes de las modificaciones

Información del producto

  • title (string) - El título del artículo de línea (normalmente el título de la variante)
  • product_title (string) - El título principal del producto
  • handle (string) - Handle de la URL del producto (p. ej., “camp-stool”)
  • vendor (string) - Nombre del proveedor/marca del producto
  • product_type (string) - Categoría/tipo del producto a efectos fiscales
  • sku (string) - Identificador de unidad de mantenimiento de stock (SKU)
  • product_description (string) - Descripción completa del producto
  • product_has_only_default_variant (boolean) - Si el producto tiene solo una variante

Precios (todos los precios en centavos)

  • quantity (number) - Número de unidades de este artículo en el carrito
  • price (number) - Precio unitario antes de descuentos
  • original_price (number) - Igual que price
  • discounted_price (number) - Precio unitario después de los descuentos a nivel de producto
  • compare_at_price (number | null) - Precio de comparación (MSRP). Nota: Este campo lo agrega Upcart, no lo proporciona la API de carrito de Shopify
  • final_line_price (number) - Precio total después de los descuentos a nivel de producto (cantidad × discounted_price)
  • original_line_price (number) - Precio total antes de descuentos (cantidad × price)
  • line_price (number) - Precio total después de todos los descuentos
  • final_price (number) - Obsoleto - Precio unitario después de los descuentos de producto (no tiene en cuenta la cantidad)
  • total_discount (number) - Igual que line_level_total_discount
  • line_level_total_discount (number) - Importe total de descuento aplicado a este artículo de línea

Medios y URLs

  • image (string) - URL de la imagen principal del producto
  • url (string) - Ruta de URL relativa a la página del producto (p. ej., “/products/camp-stool?variant=42789611372803”)
  • featured_image (object | null) - Detalles de la imagen destacada:
    • alt (string) - Texto alternativo de la imagen
    • aspect_ratio (number) - Relación de aspecto de la imagen
    • height (number) - Altura de la imagen en píxeles
    • url (string) - URL de la imagen
    • width (number) - Ancho de la imagen en píxeles

Variantes y opciones

  • variant_title (string | null) - Título de la variante (p. ej., “Large / Red”)
  • variant_options (string[]) - Array de valores de las opciones de la variante
  • options_with_values (Array) - Información detallada de las opciones:
    • name (string) - Nombre de la opción (p. ej., “Size”)
    • value (string) - Valor de la opción (p. ej., “Large”)
  • untranslated_product_title (string | undefined) - Título original del producto antes de la traducción (solo en respuestas de mutación del carrito)
  • untranslated_variant_title (string | undefined) - Título original de la variante antes de la traducción (solo en respuestas de mutación del carrito)

Propiedades personalizadas y metadatos

  • properties (Record<string, any> | null) - Propiedades personalizadas del artículo de línea, o null cuando la línea no tiene ninguna — verifica antes de leer una clave. Las propiedades cuyas claves comienzan con __ siempre están ocultas para los clientes; las claves que comienzan con un solo _ también se ocultan cuando el ajuste del carrito Hide properties starting with single underscore ”_” está activado.
  • gift_card (boolean) - Si este artículo es una tarjeta de regalo
  • taxable (boolean) - Si este artículo está sujeto a impuestos
  • requires_shipping (boolean) - Si este artículo requiere envío
  • grams (number) - Peso del artículo en gramos

Descuentos y promociones

  • discounts (Array) - Información simplificada de descuentos:
    • amount (number) - Importe del descuento en centavos
    • title (string) - Título/nombre del descuento
  • line_level_discount_allocations (Array) - Información detallada de la asignación de descuentos:
    • amount (number) - Importe del descuento en centavos
    • discount_application (object) - Detalles completos de la aplicación del descuento:
      • allocation_method (string) - Cómo se asigna el descuento
      • created_at (string) - Cuándo se creó el descuento
      • description (string | null) - Descripción del descuento
      • key (string) - Identificador clave del descuento
      • target_selection (string) - A qué apunta el descuento
      • target_type (string) - Tipo de objetivo
      • title (string) - Título del descuento
      • total_allocated_amount (number) - Importe total asignado
      • type ('discount_code' | '') - Tipo de descuento (cadena vacía para descuentos automáticos)
      • value (string) - Valor del descuento
      • value_type (string) - Cómo se aplica el valor

Productos en bundle

  • has_components (boolean | undefined) - Si este artículo es un bundle que contiene otros productos (solo en respuestas GET del carrito)
  • item_components (Array | null | undefined) - Detalles de los componentes del bundle:
    • quantity (number) - Cantidad de este componente
    • image (object) - Imagen del componente:
      • url (string) - URL de la imagen
      • height (number | null) - Altura de la imagen
      • width (number | null) - Ancho de la imagen
      • alt (string) - Texto alternativo
  • product (object) - Información del producto componente:
    • title (string) - Título del producto
    • has_only_default_variant (boolean) - Si el producto tiene solo la variante predeterminada
  • variantTitle (string) - Título de la variante del componente

Reglas de negocio

  • quantity_rule (object | undefined) - Restricciones de cantidad (solo en respuestas GET del carrito):
    • min (number) - Cantidad mínima permitida
    • max (number | null) - Cantidad máxima permitida (null = sin límite)
    • increment (number) - Paso de incremento de cantidad

Información de suscripción

  • selling_plan_allocation (object | undefined) - Detalles de suscripción/plan de venta:
    • price (number) - Precio de la suscripción en centavos
    • compare_at_price (number | null) - Precio de comparación de la suscripción
    • per_delivery_price (number) - Precio por entrega
    • selling_plan (object) - Detalles del plan de venta:
      • id (number) - ID del plan de venta
      • name (string) - Nombre del plan
      • description (string) - Descripción del plan
      • options (Array) - Opciones del plan:
        • name (string) - Nombre de la opción
        • position (number) - Posición de la opción
        • value (string) - Valor de la opción
      • recurring_deliveries (boolean) - Si el plan tiene entregas recurrentes

Metadatos de integración

  • __appIntegrated (object | undefined) - Datos de integración con apps de terceros:
    • app ('stay.ai') - Identificador de la app integrada
    • bundleRole ('parent' | 'child') - Rol en la estructura del bundle

Upsells

El módulo Upsells te permite personalizar la visualización de productos de upsell con tu propio diseño manteniendo la funcionalidad esencial de e-commerce, como la selección de variantes, las acciones de agregar al carrito y la visualización de información del producto.

Props disponibles - Plantilla de mosaico de upsell

itemUrl
  • Tipo: string
  • Descripción: La URL de la página del producto
  • Uso: Crea enlaces a la página de detalle del producto para mejorar la navegación del usuario
imageUrl
  • Tipo: string | undefined
  • Descripción: La URL de la imagen del producto
  • Uso: Muestra imágenes del producto en implementaciones personalizadas de upsell
  • Alternativa: Gestiona los valores undefined con elegancia usando imágenes de marcador de posición
description
  • Tipo: string
  • Descripción: La descripción del producto
  • Uso: Muestra la descripción del producto en implementaciones personalizadas de upsell
altText
  • Tipo: string
  • Descripción: Texto alternativo de la imagen del producto para accesibilidad
  • Uso: Proporciona compatibilidad con lectores de pantalla y mejora el cumplimiento de accesibilidad
productId
  • Tipo: string
  • Descripción: El identificador único del producto
  • Uso: Rastrea productos, implementa analíticas o úsalo en la funcionalidad de agregar al carrito
productTitle
  • Tipo: string
  • Descripción: El título/nombre del producto
  • Uso: Muestra el nombre del producto en implementaciones personalizadas de upsell
oldPrice & newPrice
  • Tipo: string | null (oldPrice), string (newPrice)
  • Descripción: Precio de comparación y precio actual formateados
  • Uso: Muestra la información de precios con indicadores de oferta
isSingleVariant
  • Tipo: boolean
  • Descripción: Indica si el producto tiene solo una variante
  • Uso: Renderiza condicionalmente los elementos de UI de selección de variantes
productOptions
  • Tipo: { name: string; position: 1 | 2 | 3; values: string[]; }[]
  • Descripción: Configuración completa de las opciones del producto, incluidas todas las opciones disponibles
  • Uso: Accede a información detallada de las opciones del producto para una UI avanzada de selección de variantes
variantOptions
  • Tipo: { label: string; value: string }[]
  • Descripción: Opciones de variante disponibles para el producto
  • Uso: Crea menús desplegables o botones de selección de variantes
  • Estructura: Cada opción contiene una etiqueta de visualización y un identificador de valor único
selectedVariantId & selectedVariantLabel
  • Tipo: string (selectedVariantId), string | undefined (selectedVariantLabel)
  • Descripción: ID de la variante seleccionada actualmente y su etiqueta de visualización
  • Uso: Rastrea y muestra la información de la variante seleccionada
onVariantChange
  • Tipo: (variantId: string) => void
  • Descripción: Función para gestionar los cambios de selección de variante
  • Uso: Actualiza la variante seleccionada cuando el usuario hace una selección
onAddClick
  • Tipo: (productId: string, variantId?: string) => void
  • Descripción: Función para gestionar la adición del producto al carrito
  • Uso: Implementa la funcionalidad de agregar al carrito con la identificación adecuada de producto y variante
rating & reviewCount
  • Tipo: number | undefined (rating), string | undefined (reviewCount)
  • Descripción: Calificación del producto y texto formateado del recuento de reseñas
  • Uso: Muestra prueba social e indicadores de calidad del producto
addLoading & addButtonText
  • Tipo: boolean (addLoading), string (addButtonText)
  • Descripción: Estado de carga de la acción de agregar al carrito y texto del botón
  • Uso: Proporciona retroalimentación al usuario durante las operaciones del carrito y personaliza el texto del botón
cartItemsCount
  • Tipo: number
  • Descripción: El número actual de artículos en el carrito
  • Uso: Muestra el estado del carrito o implementa lógica basada en el carrito

Notas adicionales

El módulo Notes te permite personalizar la funcionalidad de notas del carrito con tu propio diseño manteniendo las capacidades esenciales de toma de notas, como secciones expandibles, gestión de entrada de texto y estados de carga.

Props disponibles - Plantilla completa

cartNote
  • Tipo: string
  • Descripción: El contenido actual de la nota del carrito ingresado por el cliente
  • Uso: Muestra y gestiona el texto de la nota del carrito en implementaciones personalizadas
notesPlaceholder
  • Tipo: string
  • Descripción: Texto de marcador de posición para el campo de entrada de notas
  • Uso: Proporciona orientación a los clientes sobre qué incluir en sus notas
notesTitle
  • Tipo: string
  • Descripción: El texto del título/encabezado de la sección de notas
  • Uso: Muestra el título de la sección en implementaciones personalizadas de notas
chevronDownIconComponent
  • Tipo: React.ReactElement
  • Descripción: Componente de ícono de chevron prerenderizado para la funcionalidad de expandir/contraer
  • Uso: Muestra indicadores de expandir/contraer consistentes en implementaciones personalizadas
loadingIndicatorComponent
  • Tipo: React.ReactElement | null
  • Descripción: Componente de indicador de carga prerenderizado para operaciones asíncronas
  • Uso: Muestra estados de carga durante las operaciones de guardado de notas
handleCartNoteChange
  • Tipo: (newCartNote: string) => void
  • Descripción: Función para gestionar los cambios en el contenido de la nota del carrito
  • Uso: Actualiza la nota del carrito cuando el usuario modifica el texto
isExpanded
  • Tipo: boolean
  • Descripción: Indica si la sección de notas está expandida actualmente
  • Uso: Controla la visibilidad del área de entrada de notas
toggleCollapsible
  • Tipo: () => void
  • Descripción: Función para alternar el estado expandido/contraído de la sección de notas
  • Uso: Adjúntala a botones o elementos interactivos para controlar la visibilidad de la sección

Complementos

El módulo Addons te permite personalizar la visualización de productos complementarios con tu propio diseño manteniendo la funcionalidad esencial de e-commerce, como la visualización de información del producto, los precios, los controles de interruptor y el formato de moneda.

Props disponibles - Plantilla completa

addonProduct
  • Tipo:
  • Descripción: Información completa del producto complementario, incluidos los detalles del producto, el precio de la variante y los datos de imagen
  • Uso: Accede a toda la información del producto necesaria para mostrar productos complementarios
  • Estructura: Contiene objetos anidados de producto, variante e imagen con datos completos del producto
    • Propiedades del objeto Product addonProduct.product
      • id: Identificador numérico único del producto
      • title: Nombre visible del producto complementario
      • description: Contenido HTML de la descripción del producto
    • Propiedades del objeto Variant
      • id: Identificador numérico único de la variante
      • price: Precio actual en centavos
      • compare_at_price: Precio original en centavos (null si no hay precio de comparación)
    • Propiedades del objeto Image
      • src: URL de la imagen del producto
      • alt: Texto alternativo de la imagen (para accesibilidad)
toggle
  • Tipo:
  • Descripción: Estado del control de interruptor y controladores para habilitar/deshabilitar el complemento
  • Uso: Implementa la funcionalidad interactiva de interruptor para la selección de complementos
  • Estados: Tres estados posibles: enabled, disabled y loading
  • Controladores: Funciones separadas para las acciones de habilitar y deshabilitar
moneyFormat
  • Tipo: string
  • Descripción: La cadena de formato de moneda usada para el formato de precios
  • Uso: Pásala a la función formatMoney para una visualización de moneda consistente
formatMoney
  • Tipo:
  • Descripción: Función utilitaria para formatear valores de moneda
  • Uso: Formatea los precios de manera consistente con los ajustes de moneda de la tienda
  • Parámetros: Recibe el valor en centavos, una cadena de formato opcional y una opción de eliminación de HTML

Códigos de descuento

El módulo Discount Code te permite personalizar la funcionalidad de entrada de códigos de descuento con tu propio diseño manteniendo capacidades esenciales de e-commerce, como la validación de códigos, el envío de formularios y la retroalimentación al usuario.

Props disponibles - Plantilla completa

indicator
  • Tipo: 'validating' | 'invalid' | 'none'
  • Descripción: Estado actual de validación de la entrada del código de descuento
  • Uso: Muestra la retroalimentación de UI adecuada según el estado de validación
  • Estados:
    • validating: El código se está procesando/validando
    • invalid: La validación del código falló
    • none: Sin estado de validación (predeterminado/inactivo)
discountCodeInput
  • Tipo: string
  • Descripción: Valor actual del campo de entrada del código de descuento
  • Uso: Muestra y gestiona el texto del código de descuento ingresado por el usuario
discountCodePlaceholder
  • Tipo: string
  • Descripción: Texto de marcador de posición para el campo de entrada del código de descuento
  • Uso: Proporciona orientación a los usuarios sobre qué ingresar en el campo
discountCodeButtonText
  • Tipo: string
  • Descripción: Texto a mostrar en el botón de aplicar/enviar
  • Uso: Personaliza el texto del botón para el envío del código de descuento
setDiscountCodeInput
  • Tipo: (value: string | ((prev: string) => string)) => void
  • Descripción: Función para actualizar el valor de la entrada del código de descuento
  • Uso: Gestiona los cambios de entrada del usuario en el campo del código de descuento
handleSubmit
  • Tipo: (e: React.FormEvent<HTMLFormElement>) => void
  • Descripción: Función para gestionar el envío del formulario para la aplicación del código de descuento
  • Uso: Procesa la validación y aplicación del código de descuento
  • Evento: Gestiona los eventos de envío del formulario

Resumen del carrito

El módulo Cart Summary te permite personalizar la visualización del resumen del carrito y los descuentos con tu propio diseño manteniendo la funcionalidad esencial de e-commerce, como la gestión de descuentos, el cálculo de ahorros y la transparencia de precios.

Props disponibles - Plantilla completa

totalSavingsText
  • Tipo: string
  • Descripción: Etiqueta de texto para la sección de ahorro total
  • Uso: Muestra la etiqueta de ahorro en implementaciones personalizadas del resumen del carrito
discountApplications
  • Tipo:
  • Descripción: Array de códigos de descuento aplicados y descuentos automáticos
  • Uso: Muestra todos los descuentos activos con sus títulos y tipos
  • Estructura: Cada descuento contiene una clave única, un título de visualización y un identificador de tipo
cartTotalDiscount
  • Tipo: number
  • Descripción: El importe total del descuento en centavos
  • Uso: Accede al valor de descuento sin procesar para cálculos o formato personalizado
showCartTotalDiscount
  • Tipo: boolean
  • Descripción: Indica si el descuento total debe mostrarse. Marcado como obsoleto en favor de showTotalSavings, pero consulta la nota más abajo — dentro de una plantilla personalizada esta sigue siendo la prop que tienes.
  • Uso: Renderiza condicionalmente la información del descuento según los ajustes
formattedCartTotalDiscount
  • Tipo: string
  • Descripción: Cadena HTML preformateada del importe total del descuento. Marcada como obsoleta en favor de formattedTotalSavings, pero consulta la nota más abajo.
  • Uso: Muestra el importe del descuento correctamente formateado con símbolos de moneda
showTotalSavings y formattedTotalSavings no están disponibles dentro de una plantilla personalizada. Existen en el contexto interno del módulo, pero a la plantilla Cart summary solo se le entregan showCartTotalDiscount y formattedCartTotalDiscount — leer el par más nuevo devuelve undefined. Usa las dos anteriores, y ten en cuenta que muestran solo el total del descuento; no siguen el ajuste Show compare-at price savings in footer total.
isRemovingDiscount
  • Tipo: boolean
  • Descripción: Indica si hay una operación de eliminación de descuento en curso
  • Uso: Muestra estados de carga durante la eliminación de descuentos
handleRemoveDiscount
  • Tipo: () => Promise<void>
  • Descripción: Función para gestionar la eliminación de códigos de descuento
  • Uso: Elimina los códigos de descuento aplicados del carrito
totalCompareAtPrice
  • Tipo: number
  • Descripción: Suma total de los precios de comparación (todos los artículos del carrito)
  • Uso: Calcula y muestra los ahorros o la información de precios originales
totalAfterAllDiscounts
  • Tipo: number
  • Descripción: Total final del carrito en centavos después de aplicar todos los descuentos
  • Uso: Muestra el precio final que pagarán los clientes
originalTotalPrice
  • Tipo: number
  • Descripción: Total original del carrito en centavos antes de cualquier descuento
  • Uso: Muestra el precio original para transparencia y cálculo de ahorros
cartItemCount
  • Tipo: number
  • Descripción: Número total de artículos en el carrito
  • Uso: Muestra la información del recuento de artículos en los resúmenes del carrito

Insignias de confianza

El módulo Trust Badges te permite personalizar la visualización de insignias de confianza con tu propio diseño manteniendo la funcionalidad esencial de generación de confianza, como la visibilidad condicional de insignias y el manejo adecuado de imágenes.

Props disponibles - Plantilla completa

showBadge
  • Tipo: boolean
  • Descripción: Indica si la insignia de confianza debe mostrarse
  • Uso: Controla la visibilidad de las insignias de confianza según los ajustes del módulo
badgeUrl
  • Tipo: string
  • Descripción: La URL de la imagen de la insignia de confianza a mostrar
  • Uso: URL de origen para la imagen de la insignia de confianza en implementaciones personalizadas