2013-12-12 32 views
5

Alışveriş sepetine ürün eklemeye çalışıyorum ancak kart boş kalıyor. Ben incremanting olan $cart->getItemsQty() benim öğesi miktarını yazdırırken İşte benim kodÜrün sepetinde programlı olarak ekle - boş kutu

try{ 
    $product_model = Mage::getSingleton('catalog/product'); 

    // Load product 
    $_sku = "1-574#AD-B00731"; 
    $my_product_id = $product_model->getIdBySku($_sku); 
    $my_product  = $product_model->load($my_product_id); 
    $qty_value = 1; 

    // Add to cart 
    $cart = Mage::getModel('checkout/cart'); 
    $cart->init(); 
    $cart->addProduct($my_product, array('qty' => $qty_value)); 
    $cart->save(); 
    print_r($cart->getItemsQty().PHP_EOL); 
    Mage::getSingleton('checkout/session')->setCartWasUpdated(true); 
    var_dump("working"); 
} 
catch(Exception $e){ 
    return $e->getMessage(); 
} 

ama benim sepeti hala boş. Bence düzgün çalışmıyor Mage::getSingleton('checkout/session')->setCartWasUpdated(true); var.

Neyin çalışmadığına dair bir fikri olan var mı?

Düzenleme 1: Bir url sorgusu aracılığıyla böylece, Magento 1.8.0 kullanmak

cevap

1

deneyin Sepet olan

$cart = Mage::getModel('checkout/cart'); 

$cart = Mage::getSingleton('checkout/cart'); 

geçmek için çünkü form_key ait çalışmıyor singleton, çünkü 1 kullanıcı için mağazanızda sadece 1 kartınız var ve kullanmak isteyen herkes yeni nesne oluşturmadan getSingleton olarak adlandırılabilir. Mage :: getModel ('checkout/cart') kullanırsanız, yeni bir nesne oluşturur. Bu, DB'ye teklif kaydetmenize izin verecektir, ancak bu geçerli aktif müşteri sepeti olmayacaktır.

+0

Müşterinin kartını nasıl alabilirim? – Camital

+2

Komut dosyanızı önerdiğim gibi değiştirdiniz mi? Mevcut müşteri sepetini kullanmak için Mage :: getSingleton ('checkout/cart') -> getQuote(); veya Mage :: getSingleton ('checkout/session') -> getQuote(); – freento

+0

Evet Yaptım ve sepetim hala boş – Camital

1

Itemcollection öğesinin itemcache'ını yenilemeniz gerekir. Bu, aynı zamanda teklif-modelini de kaldırdığından, bundan sonra eklenmesi gerekir, o zaman bundan sonra eklenmesi gerekir (

İlgili konular