TL; DR : Gibt es einen Grund, warum die einfachen Produkte, die einem konfigurierbaren Produkt zugeordnet sind, denselben Attributsatz haben müssen wie das konfigurierbare Produkt selbst? Ich meine, gibt es einen technischen Grund? Ich kenne den "gesunden Menschenverstand" Grund. Wenn Sie ein Paar Schuhe verkaufen, müssen alle Versionen, die von Farbe und Größe abhängen, auch Schuhe sein .
Lange Version : Ich hatte die Aufgabe, einige konfigurierbare Produkte "zusammenzuführen". Ich meine von 2 oder mehr nur einen zu machen. Ich wollte sie wegen der Menge der Produkte nicht manuell machen und ich wollte nicht durchgehen$product->load(..)->set...()->save()
Aufgrund der Zeit, die zum Ausführen des Skripts benötigt wurde. Also habe ich den Prozess kurzgeschlossen, weil ich mir sicher war, dass sich keines der einfachen Produkte überlappte. Es gab eine einzigartige Kombination von Größe und Farbe. Ich tat dies:
Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);
Dabei $simpleProductIds
handelt es sich um ein Array aller einfachen Produkt-IDs, die allen konfigurierbaren Produkten zugeordnet sind, die zusammengeführt werden müssen.
Dies funktionierte für die meisten Produkte perfekt, es gab jedoch einige Probleme.
Wenn ich anrufe
$productIds = $product->getTypeInstance()->getUsedProductIds()
Ich würde alle einfachen Produkt-IDs erhalten, aber im Backend tauchten nur einige davon auf. Nachdem ich einige Zeit gebuddelt hatte, stellte ich fest, dass nur diejenigen angezeigt wurden, die dasselbe Attribut hatten wie das konfigurierbare Produkt. Der andere Attributsatz ist dem ersten sehr ähnlich, nur einige geringfügige Unterschiede, aber er enthält die konfigurierbaren Attribute (Größe und Farbe).
Und jetzt das Merkwürdige. Im Frontend habe ich erwartet, dass entweder alle Produkte ($ productIds im obigen Code) oder nur die Produkte im selben Attributsatz angezeigt werden. Nun, da war etwas dazwischen.
- 20 zugehörige Produkt-IDs - 5 Größen, 4 Farben
- 10 zugehörige Produkte im Backend - 5 Größen, 2 Farben - die anderen 2 Farben (10 Produkte) befanden sich in einem anderen Attributssatz
- 15 Kombinationen im Frontend - 5 Größen, 3 Farben (???)
Ich konnte das Problem lösen, indem ich die Attributgruppe für die Produkte änderte, die nicht angezeigt wurden, aber ich bin immer noch verwirrt.
Hinweis : Versuchen Sie dies nicht zu Hause. Oder Sie können es zu Hause ausprobieren, aber nicht auf einem Live-Server.