TL; DR : ¿Hay alguna razón por la cual los productos simples asociados a un producto configurable tienen que estar en el mismo conjunto de atributos que el producto configurable en sí? Quiero decir, ¿hay alguna razón técnica ? Sé la razón del "sentido común". Si vende un par de zapatos , todas las versiones según el color y el tamaño también deben ser zapatos .
Versión larga : tuve la tarea de "fusionar" algunos productos configurables. Quiero decir de 2 o más para hacer solo uno. No quería hacerlo manualmente debido a la cantidad de productos y no quería pasar por$product->load(..)->set...()->save()
debido a la cantidad de tiempo que llevó ejecutar el script. Así que cortocircuité el proceso porque estaba seguro de que ninguno de los productos simples se superponía. Había una combinación única de tamaño y color. Hice esto:
Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);
donde $simpleProductIds
hay una matriz de todos los identificadores de productos simples asociados a todos los productos configurables que deben fusionarse.
Esto funcionó perfectamente para la mayoría de los productos, pero había algunos que tenían problemas.
Si llamara
$productIds = $product->getTypeInstance()->getUsedProductIds()
Obtendría todos los identificadores de productos simples, pero en el backend aparecieron solo algunos. Después de excavar por un tiempo descubrí que los únicos que se mostraban eran los del mismo conjunto de atributos que el producto configurable. El otro conjunto de atributos es muy similar al primero, solo algunas diferencias menores, pero contiene los atributos configurables (tamaño y color).
Y ahora lo extraño. En la interfaz, esperaba ver todos los productos ($ productIds en el código anterior) o solo los productos en el mismo conjunto de atributos. Bueno, había algo en medio.
- 20 identificadores de producto asociados: 5 tamaños, 4 colores
- 10 productos asociados en el backend - 5 tamaños, 2 colores - los otros 2 colores (10 productos) estaban en un conjunto de atributos diferente
- 15 combinaciones en la interfaz - 5 tamaños 3 colores (???)
Pude resolver el problema cambiando el conjunto de atributos para los productos que no aparecían, pero todavía estoy desconcertado.
Nota : No intentes esto en casa. O puede probarlo en casa pero no en un servidor en vivo.