Gaia_Core
Descripción General
El módulo Gaia_Core implementa la lógica central para el cálculo y manejo de los días de entrega de productos en función de stock, tipo de producto, código postal y otras reglas de negocio. Su principal objetivo es determinar y formatear los rangos de entrega para productos, considerando zonas extendidas, productos sobredimensionados y entregas internacionales.
Features
Cálculo de Días de Entrega
- Descripción: Calcula el rango de días de entrega para un producto, considerando stock, agrupaciones, tipo de paquete, zonas extendidas y si la entrega es nacional o internacional. Permite obtener un objeto formateador (
DeliveryDatesRenderer) que representa el rango de entrega y puede ser utilizado en bloques, vistas o APIs. - Tipo de modificación: Modelo personalizado.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Model/DeliveryDates.php: Implementa toda la lógica de cálculo y formateo de días de entrega.
- Notas importantes:
- Depende de la interfaz
ProductInterfacepara obtener información de productos. - Utiliza un modelo de cross-docking si está disponible para calcular días adicionales en caso de falta de stock.
- Lanza excepciones personalizadas (
DeliveryDatesException,NoDeliveryException,NoRangeException) en casos de error o reglas de negocio no cumplidas. - Es utilizado por otros módulos como
Gaia_Productpara exponer la funcionalidad en bloques, observers y view models. - El objeto
DeliveryDatesRendereres clave para la integración con el frontend y otras capas del sistema.
- Depende de la interfaz
CLI Commands
Este módulo no define comandos CLI personalizados.
APIs
Este módulo no expone directamente endpoints REST o GraphQL, pero su funcionalidad es consumida por otros módulos (como Gaia_Product) que sí exponen APIs para consultar días de entrega.
Consideraciones para Mantenimiento
- La lógica de días de entrega depende de configuraciones almacenadas en la base de datos (por ejemplo, rangos de entrega y etiquetas de región).
- Es fundamental revisar las dependencias con otros módulos, especialmente
Gaia_Product, que utiliza intensivamente este modelo. - Para modificar reglas de negocio (por ejemplo, cómo se calculan los días en zonas extendidas o productos sobredimensionados), es necesario revisar y testear exhaustivamente el archivo
Model/DeliveryDates.php. - No modifica archivos core, por lo que su desinstalación no afecta el core de Magento, pero puede romper funcionalidades de otros módulos que dependan de él.
Estructura del Módulo
Gaia_Core/
├── Model/
│ └── DeliveryDates.php
├── etc/
│ ├── module.xml
│ └── di.xml
├── registration.php
└── composer.json
Archivos de Configuración Principales
etc/module.xml: Define el módulo y sus dependenciasetc/di.xml: Configuración de inyección de dependencias
Modelos Principales
Model/DeliveryDates.php: Implementa toda la lógica de cálculo y formateo de días de entrega (9.2KB, 318 líneas)
Funcionalidades Clave
- Cálculo de días de entrega: Lógica central para determinar rangos de entrega
- Formateo de fechas: Renderizado de fechas de entrega
- Gestión de excepciones: Manejo de casos especiales y errores
- Integración con productos: Uso de ProductInterface para obtener información