Saya mendapatkan keranjang belanja menggunakan:
$cart = Mage::getSingleton('checkout/session')->getQuote();
Dan kemudian iterasi melalui itu menggunakan:
foreach ($cart->getAllItems() as $item) { }
Tetapi tampaknya mengembalikan item duplikat dengan SKU yang sama, tetapi id produk berbeda! Di situs utama, ketika saya membuka gerobak, itu menunjukkan produk tunggal.
cart: {
id: 680,
items: [
{
name: "Tori Tank",
price: "60.0000",
id: "418",
sku: "wbk004"
},
{
name: "Tori Tank",
price: "60.0000",
id: "286",
sku: "wbk004"
}
]
}
Pertanyaan saya adalah .. Mengapa ini terjadi? Tidakkah produk induk (dapat dikonfigurasi) menampilkan Sku uniknya sendiri?
Juga, jika saya ingin menambahkan produk ke troli, haruskah saya menambahkan produk yang dapat dikonfigurasi? Atau apakah saya menambahkan produk sederhana dan Magento menangani sisanya?
sumber
Gunakan
$cart->getAllVisibleItems()
sebagai ganti$cart->getAllItems()
.Anda mendapatkan duplikat karena ketika menambahkan produk yang dapat dikonfigurasi ke troli, magento sebenarnya menambahkan 2 produk, produk sederhana dan produk yang dapat dikonfigurasi tetapi hanya satu yang terlihat oleh pengguna.
sumber
sumber