Saltar al contenido principal

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 por Gaia\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 por Gaia\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 por Gaia\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 gaiawishlist para 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 gaiawishlist puede ser usado para exponer endpoints propios.

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.xml y etc/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.