Magento programlı sepetinize eklemek için oturum kimliğini ayarlamak için çalışılıyor

2 Cevap php

Ben programlı sepetine ürün eklemek bir modülünü kurdunuz. Ben bunu çalışan ama son zamanlarda olmadığını bulmuştu yemin ederim. Bu konuda plan müşteri bir müşteri, kendi sitesinde bir sayfaya gitmek bu üçüncü parti olan ürünlere bakmak ve bizim sepetine ürün ekleyebilir bir üçüncü taraf ürünü var olduğunu. Üçüncü taraf hizmet bir iframe ile sayfa alınır. Ben onlara ihtiyaç duydukları ve onlar bir ürün yaratmak ve sonra sepetinize bu ürünü eklemek bir yanıt geri göndermek bilgi aktarmak.

Bir kullanıcı kendi arabası başka bir şey vardır ve o sepeti onları mendil üçüncü kişiden ürünlerden birini eklerse Her şey aslında haricinde bulmak çalışır. Ben bu bir oturumda bir şey olduğunu biliyorum ve ben belirlenen parametrelerden biri ve üçüncü tarafa geçmek çünkü ben zaten Sessionıd batıyordu ve onlar geri göndermek. İşte benim kod bir örnektir.

$checkoutSession = Mage::getSingleton('core/session');
$checkoutSession->setSessionId($sessionId); // which is my session ID I get back from the third party and is the customers session id
$product = Mage::getSingleton('catalog/product');
$product->load($productId);
$check = $product->isSalable();
$cart = Mage::getModel('checkout/cart');
$cart->init();
try {
    $cart->addProduct($product, array('qty' => $qty));
    $cart->save();
}
catch (Exception $ex) {
    //Handle the error
}

Sen bu ihtiyacın olduğunu düşünürdüm ama çalışmıyor. Ben bir anda çalışıyordu ama değil sanırım düşündüm. I getSessionId hata ayıklama ve derseniz () doğru görünüyor ama oturum nesnesi bakarsanız hala sessionId eski biri olduğunu visitor_data dizide diyor.

2 Cevap

Bu deneyin:

Mage :: getSingleton ('çekirdek / oturum', array ('name' => 'önyüz'));

Magento kökünde index.php bu atın

header('P3P: CP="CAO PSA OUR"');