TL; DR : Có bất kỳ lý do tại sao các sản phẩm đơn giản được liên kết với một sản phẩm có thể định cấu hình phải nằm trong cùng thuộc tính được đặt với chính sản phẩm có thể định cấu hình không? Ý tôi là, có bất kỳ lý do kỹ thuật ? Tôi biết lý do "lẽ thường". Nếu bạn bán một đôi giày thì tất cả các phiên bản tùy thuộc vào màu sắc và kích cỡ cũng phải là giày .
Phiên bản dài : Tôi có nhiệm vụ "hợp nhất" một số sản phẩm có thể cấu hình. Ý tôi là từ 2 trở lên chỉ làm một. Tôi không muốn làm thủ công vì số lượng sản phẩm và tôi không muốn trải qua$product->load(..)->set...()->save()
bởi vì lượng thời gian cần thiết để chạy tập lệnh. Vì vậy, tôi đã ngắn gọn quá trình này vì tôi chắc chắn rằng không có sản phẩm đơn giản nào bị chồng chéo. Có một sự kết hợp độc đáo của kích thước và màu sắc. Tôi đã làm điều này:
Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);
trong đó $simpleProductIds
một mảng gồm tất cả các id sản phẩm đơn giản được liên kết tất cả với các sản phẩm có thể định cấu hình cần được hợp nhất.
Điều này làm việc hoàn hảo cho hầu hết các sản phẩm, nhưng có một số ít có vấn đề.
Nếu tôi gọi
$productIds = $product->getTypeInstance()->getUsedProductIds()
Tôi sẽ nhận được tất cả các id sản phẩm đơn giản, nhưng trong phần phụ trợ chỉ xuất hiện một vài trong số chúng. Sau khi đào một thời gian, tôi phát hiện ra rằng những cái duy nhất được hiển thị là những cái trong cùng thuộc tính được đặt làm sản phẩm có thể định cấu hình. Bộ thuộc tính khác rất giống với thuộc tính đầu tiên, chỉ là một số khác biệt nhỏ nhưng nó chứa các thuộc tính cấu hình (kích thước và màu sắc).
Và bây giờ là điều kỳ lạ. Ở frontend tôi dự kiến sẽ thấy tất cả các sản phẩm ($ productIds trong mã ở trên) hoặc chỉ các sản phẩm trong cùng một bộ thuộc tính. Vâng, có một cái gì đó giữa.
- 20 id sản phẩm được liên kết - 5 kích cỡ, 4 màu
- 10 sản phẩm được liên kết trong phần phụ trợ - 5 kích cỡ, 2 màu - 2 màu còn lại (10 sản phẩm) nằm trong một bộ thuộc tính khác
- 15 kết hợp ở lối vào - 5 kích cỡ 3 màu (???)
Tôi đã có thể giải quyết vấn đề bằng cách thay đổi bộ thuộc tính cho các sản phẩm không xuất hiện, nhưng tôi vẫn bối rối.
Lưu ý : Đừng thử điều này ở nhà. Hoặc bạn có thể thử nó ở nhà nhưng không phải trên máy chủ trực tiếp.