Gaia_Customer
Descripción General
El módulo Gaia_Customer personaliza y extiende la funcionalidad del módulo de clientes de Magento 2. Incluye un sistema de canales de cliente, personalización del proceso de registro y login, gestión de grupos de clientes y integración con reglas de venta basadas en canales.
Features
Sistema de Canales de Cliente
- Descripción: Implementa un sistema de canales para categorizar y gestionar clientes por diferentes canales de venta.
- Tipo de modificación: Modelos, APIs y UI components personalizados.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Model/Channel.phpModel/ChannelRegistry.phpModel/Data/Channel.phpModel/ResourceModel/Channel/
- Notas importantes:
- Permite categorizar clientes por canales de venta específicos.
Registro de Cliente Personalizado
- Descripción: Personaliza el proceso de registro de clientes con funcionalidades específicas de Gaia.
- Tipo de modificación: Override de controlador.
- Archivos del core afectados: Reemplaza
Magento\Customer\Controller\Account\CreatePost. - Archivos del módulo:
Controller/Account/CreatePost.php
- Notas importantes:
- Extiende significativamente el proceso de registro con lógica personalizada.
Login Personalizado
- Descripción: Personaliza el proceso de login con funcionalidades específicas.
- Tipo de modificación: Plugin en controlador de login.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Plugin/LoginPostPlugin.php
- Notas importantes:
- Se ejecuta después del login para procesamiento adicional.
Bloques de Navegación Personalizados
- Descripción: Personaliza los bloques de navegación de la cuenta de cliente.
- Tipo de modificación: Overrides de bloques.
- Archivos del core afectados: Reemplaza bloques de navegación de cliente.
- Archivos del módulo:
Block/CurrentLink.phpBlock/Link.php
- Notas importantes:
- Afecta la presentación de enlaces en la cuenta de cliente.
Integración con Reglas de Venta
- Descripción: Integra el sistema de canales con las reglas de venta de Magento.
- Tipo de modificación: Plugin en utilidad de reglas de venta.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Plugin/CheckChannelRulePlugin.php
- Notas importantes:
- Permite aplicar reglas de venta basadas en canales de cliente.
Grid de Administración
- Descripción: Proporciona interfaz de administración para gestionar grupos de canales.
- Tipo de modificación: UI components y collections.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Model/ResourceModel/Channel/Grid/Collection.php- Configuración en
di.xml
- Notas importantes:
- Permite gestionar canales desde el panel de administración.
APIs Personalizadas
- Descripción: Expone APIs para gestión de canales de cliente.
- Tipo de modificación: APIs personalizadas.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
Api/ChannelRepositoryInterface.phpApi/Data/ChannelInterface.php
- Notas importantes:
- Permite integración con sistemas externos para gestión de canales.
Estructura de Base de Datos
- Descripción: Define tablas personalizadas para el sistema de canales.
- Tipo de modificación: Esquema de base de datos.
- Archivos del core afectados: No modifica archivos core de Magento.
- Archivos del módulo:
etc/db_schema.xml
- Notas importantes:
- Crea tablas necesarias para el sistema de canales.
Overrides, Observers y Plugins Importantes
Preferences (Overrides)
Magento\Customer\Block\Account\SortLink→Gaia\Customer\Block\CurrentLink- Descripción: Personaliza el enlace de ordenamiento en la cuenta de cliente.
Magento\Customer\Block\Account\Link→Gaia\Customer\Block\Link- Descripción: Personaliza los enlaces de la cuenta de cliente.
Magento\Customer\Controller\Account\CreatePost→Gaia\Customer\Controller\Account\CreatePost- Descripción: Personaliza el proceso de registro de clientes.
Plugins
Magento\Customer\Controller\Account\LoginPostgaia_customer_loginpostplugin: Plugin para procesamiento post-login
Magento\SalesRule\Model\Utilitycheck_channel_rule_plugin: Plugin para verificar reglas basadas en canales
Configuraciones de Inyección de Dependencias
Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory- Descripción: Configura collection para grid de canales
Gaia\Customer\Model\ResourceModel\Channel\Grid\Collection- Descripción: Configura collection específica para grid de canales
CLI Commands
Este módulo no define comandos CLI personalizados.
APIs
Expone APIs personalizadas para gestión de canales de cliente:
Gaia\Customer\Api\ChannelRepositoryInterfaceGaia\Customer\Api\Data\ChannelInterface
Consideraciones para Mantenimiento
- El módulo es importante para la gestión de clientes y no debe desactivarse sin revisar dependencias.
- El override del controlador de registro es extenso y puede afectar el proceso de registro.
- El sistema de canales puede estar integrado con reglas de venta y otros módulos.
- Los plugins se ejecutan en operaciones críticas de cliente y deben ser eficientes.
- La estructura de base de datos personalizada requiere migraciones cuidadosas.
- El grid de administración puede requerir permisos específicos configurados en
acl.xml. - Revisar compatibilidad con actualizaciones del módulo de cliente de Magento.
- El módulo depende del módulo core de Customer de Magento.