Gaia_Wishlist
Descripción General
El módulo Gaia_Wishlist extiende y personaliza la funcionalidad estándar de la lista de deseos de Magento. Permite personalizar la obtención de URLs de productos, el movimiento de productos de la wishlist al carrito y la gestión de rutas y controladores relacionados con la wishlist, adaptando la experiencia a necesidades específicas del negocio.
Features
Personalización de Helper de Wishlist
- Descripción: Extiende el helper estándar de wishlist para personalizar la obtención de URLs de productos, agregando parámetros personalizados y lógica para productos configurables.
- Tipo de modificación: Override (preference) de helper.
- Archivos del core afectados:
Magento\Wishlist\Helper\Data(override porGaia\Wishlist\Helper\Data)
- Archivos del módulo:
Helper/Data.php
- Notas importantes:
- El helper personalizado es inyectado solo en el área frontend.
Personalización de ItemCarrier
- Descripción: Extiende la lógica para mover todos los productos de la wishlist al carrito, gestionando mensajes, errores y cantidades personalizadas.
- Tipo de modificación: Override (preference) de modelo.
- Archivos del core afectados:
Magento\Wishlist\Model\ItemCarrier(override porGaia\Wishlist\Model\ItemCarrier)
- Archivos del módulo:
Model/ItemCarrier.php
- Notas importantes:
- Se mantiene la compatibilidad con la lógica estándar, pero se pueden personalizar mensajes y flujos de error.
Personalización de Controlador Cart
- Descripción: Reemplaza el controlador estándar para agregar productos de la wishlist al carrito, permitiendo lógica personalizada en el proceso.
- Tipo de modificación: Override (preference) de controlador.
- Archivos del core afectados:
Magento\Wishlist\Controller\Index\Cart(override porGaia\Wishlist\Controller\Index\Cart)
- Archivos del módulo:
Controller/Index/Cart.php
- Notas importantes:
- Permite modificar el flujo de agregar al carrito desde la wishlist, útil para reglas de negocio específicas.
Rutas Personalizadas
- Descripción: Define una ruta personalizada
gaiawishlistpara exponer controladores propios antes que los de Magento_Wishlist. - Tipo de modificación: Routing personalizado.
- Archivos del core afectados: No modifica archivos core, solo precede rutas.
- Archivos del módulo:
etc/frontend/routes.xml
- Notas importantes:
- El frontName
gaiawishlistpuede ser usado para exponer endpoints propios.
- El frontName
CLI Commands
Este módulo no define comandos CLI personalizados.
APIs
No expone endpoints REST o GraphQL propios, pero modifica el comportamiento de los endpoints estándar de wishlist a través de overrides.
Consideraciones para Mantenimiento
- El módulo depende de la estructura estándar de Magento Wishlist, por lo que actualizaciones mayores de Magento pueden requerir ajustes en los overrides.
- Los preferences están definidos en
etc/di.xmlyetc/frontend/di.xml. - Para desinstalar el módulo, eliminar los preferences y restaurar la funcionalidad estándar de Magento Wishlist.
- No modifica archivos core directamente, pero su desactivación puede afectar la experiencia personalizada de wishlist en el frontend.