Commerce Bulk

Proporciona operaciones masivas y un servicio para la creación en lote de entidades de Drupal Commerce como variaciones de productos, valores de atributos y términos de taxonomía.

commerce_bulk
301 sites
40
drupal.org

Overview

Commerce Bulk es un potente módulo de Drupal Commerce que permite a los administradores de tiendas gestionar eficientemente grandes cantidades de variaciones de productos, valores de atributos y términos de taxonomía mediante operaciones masivas. El módulo proporciona un conjunto completo de acciones VBO (Views Bulk Operations) que permiten a los usuarios realizar modificaciones por lotes en entidades seleccionadas sin la tediosa edición uno por uno.

En su núcleo, el módulo incluye el servicio BulkVariationsCreator que genera programáticamente todas las combinaciones posibles de variaciones de productos basándose en los atributos configurados. Este servicio es particularmente útil para tiendas con productos que tienen múltiples atributos (como talla, color, material), donde crear manualmente cada combinación sería poco práctico.

El módulo también mejora el campo SKU con un widget personalizado que soporta la generación automática de SKU únicos con prefijos, sufijos y configuraciones de entropía personalizables. Además, proporciona funcionalidad de anonimización de pedidos útil para el cumplimiento del RGPD y requisitos de protección de datos.

Features

  • Creación masiva de todas las combinaciones posibles de variaciones de productos basadas en combinaciones de atributos
  • Generación automática de SKU usando la función uniqid() de PHP con configuraciones personalizables de prefijo, sufijo y entropía
  • Acciones masivas de variaciones: duplicar, eliminar, establecer precio, ajustar precio, cambiar SKU, cambiar estado, cambiar título, mover arriba
  • Acciones masivas de valores de atributos: cambiar o agregar nombres, mover arriba, eliminar valores de atributos
  • Acciones masivas de términos de taxonomía: duplicar/reordenar/renombrar términos, eliminar términos
  • Acción de anonimización de pedidos para cumplimiento del RGPD con selección de campos configurable y filtrado por antigüedad del pedido
  • Widget de campo SKU personalizado con opciones para ocultar el campo, establecer etiquetas personalizadas y controlar los límites máximos de creación masiva
  • Acción de pasar a hook que permite la integración de módulos personalizados mediante hook_commerce_bulk_variation_alter()
  • Interfaz de administración basada en Views que muestra estadísticas de variaciones (total posible, creadas, no usadas, duplicadas)
  • Submódulo Commerce Generate para generar productos de prueba con soporte de comandos Drush

Use Cases

Crear masivamente todas las variaciones de productos

Cuando tiene un producto con múltiples atributos (ej., Camiseta con Talla: S/M/L/XL y Color: Rojo/Azul/Verde), use la acción 'Duplicar variación' para crear automáticamente las 12 combinaciones posibles. Seleccione una variación, elija la acción, opcionalmente limite las opciones de atributos, y envíe. El módulo calcula todas las combinaciones no utilizadas y las crea con SKUs generados automáticamente.

Ajuste masivo de precios para ventas de temporada

Para aplicar un descuento del 20% en múltiples productos, navegue a la pestaña de variaciones, seleccione todas las variaciones que necesitan ajuste, elija la acción 'Ajustar precio', seleccione 'Restar', ingrese '20', elija 'Porcentaje', y envíe. Esto actualiza eficientemente los precios en cientos de variaciones.

Anonimización de pedidos compatible con RGPD

Para anonimizar datos antiguos de clientes para cumplimiento del RGPD, vaya a la página de Pedidos, seleccione los pedidos a anonimizar, elija la acción 'Anonimizar Pedidos', seleccione los campos a anonimizar (ip_address, billing_profile, shipping_profile, mail, data), opcionalmente establezca el filtro de antigüedad del pedido, y envíe. También puede automatizarse vía cron usando el código de ejemplo proporcionado.

Generar productos de prueba para desarrollo

Habilite el submódulo Commerce Generate, luego use la UI en /admin/config/development/generate/products o el comando Drush 'drush gprod 100' para poblar rápidamente su tienda con productos de prueba realistas incluyendo variaciones, precios e imágenes para desarrollo y pruebas.

Implementación de patrón de SKU personalizado

Implemente hook_bulk_creator_sku_alter() en su módulo personalizado para generar SKUs siguiendo su lógica de negocio (ej., incluyendo código de tipo de producto, números secuenciales, o códigos de atributos) al usar la función de duplicación masiva de variaciones.

Tips

  • Use la visualización de estadísticas en la pestaña de variaciones para rastrear cuántas variaciones existen versus el total de combinaciones posibles
  • Configure el ajuste 'Máximo' del widget SKU basándose en la capacidad de su servidor - comience con valores más bajos para productos complejos
  • La acción 'Pasar a hook' permite posibilidades de personalización ilimitadas - implemente hook_commerce_bulk_variation_alter() para procesamiento por lotes personalizado
  • La anonimización de pedidos puede automatizarse vía cron - vea el código de ejemplo en commerce_bulk.module
  • Al generar productos de prueba con Commerce Generate, use la opción --shuffle-variations para combinaciones de variaciones aleatorias más realistas

Technical Details

Admin Pages 4
Variaciones del Producto /product/{product_id}/variations

Ver y gestionar todas las variaciones de un producto específico con soporte de operaciones masivas. Muestra estadísticas que indican el máximo de variaciones posibles, variaciones creadas actualmente y combinaciones no utilizadas. Advierte sobre combinaciones de variaciones duplicadas.

Operaciones Masivas de Valores de Atributos /admin/commerce-bulk-attribute/{commerce_product_attribute}

Gestionar valores de atributos con operaciones masivas. Acceda haciendo clic en el botón de operación 'Masivo' en la página de lista de atributos de productos.

Operaciones Masivas de Términos de Taxonomía /admin/marketplace/vocabulary/{taxonomy_vocabulary}

Gestionar términos de taxonomía con operaciones masivas. Acceda haciendo clic en el botón de operación 'Masivo' en la página de lista de vocabularios de taxonomía.

Configuración del Widget SKU /admin/commerce/config/product-variation-types/{type}/edit/form-display

Configurar los ajustes del widget Commerce Bulk SKU para la generación automática de SKU al crear variaciones.

Hooks 4
hook_commerce_bulk_variation_alter

Permite a los módulos modificar variaciones de productos durante la acción masiva 'Pasar a hook'. Recibe las variaciones seleccionadas y datos opcionales JSON/XML pasados desde el formulario de acción.

hook_bulk_creator_sku_alter

Permite a los módulos modificar el SKU generado automáticamente antes de guardar una variación de producto. Útil para implementar patrones de SKU personalizados.

hook_commerce_bulk_attribute_value_alter

Permite a los módulos modificar campos de valores de atributos durante la acción masiva 'Cambiar o agregar nombres'.

hook_commerce_bulk_term_new_alter

Permite a los módulos modificar campos de términos de taxonomía durante la acción masiva 'Duplicar, reordenar, renombrar'.

Drush Commands 1
drush generate-products [num]

Generar productos de comercio ficticios. Alias: genpr, gprod

Troubleshooting 4
Tiempo de espera agotado al crear grandes cantidades de variaciones

Ajuste la configuración 'Máximo' en la configuración del widget SKU a un número menor (ej., 100). Cree variaciones en múltiples lotes presionando el botón 'Crear N variaciones' varias veces. También puede aumentar temporalmente el max_execution_time de php.ini usando la opción en el formulario de acción de duplicación.

Se detectaron combinaciones de variaciones duplicadas

El módulo muestra advertencias cuando existen combinaciones de atributos duplicadas. Revise la lista de duplicaciones mostrada en la pestaña de variaciones y elimine los duplicados innecesarios usando la acción 'Eliminar variaciones'.

Los SKUs generados son rechazados por ya existir

Los SKUs deben ser únicos en todo el sitio Drupal y no exceder 60 caracteres. Ajuste la configuración de prefijo/sufijo de SKU para asegurar la unicidad, o implemente hook_bulk_creator_sku_alter() para lógica de generación personalizada.

Los títulos de variaciones no se actualizan con la acción 'Cambiar título'

Deshabilite la opción 'Generar títulos de variaciones basados en valores de atributos' en la configuración del tipo de variación de producto antes de usar cambios masivos de título.

Security Notes 3
  • La anonimización de pedidos modifica permanentemente los datos de clientes - siempre haga respaldo antes de la anonimización masiva
  • Las acciones 'Eliminar variaciones' y 'Eliminar términos' eliminan datos permanentemente y no pueden deshacerse
  • El acceso a operaciones masivas requiere permisos apropiados de administración de Commerce y taxonomía