以编程方式创建的Magento购物车无法连接到客户

时间:2016-10-25 18:03:18

标签: php magento cart

我试图在第三方网站和我们的Magento商店之间建立一座桥梁。一个客户可以在另一个网站上建立一个购物车,但是一旦他们被洗牌到我们的网站,我就必须重新创建它。

控制器内部:

$quote = Mage::getSingleton( 'checkout/session' )->getQuote();
$catalog = Mage::getModel( 'catalog/product' );

$cart = json_decode( $this->getRequest()->getParam( 'cart' ) );

foreach ($cart as $sku => $qty) {
    $product = Mage::getModel( 'catalog/product' )->load( $sku );
    $quote->addProduct( $product, $qty );
}

$quote->collectTotals()->save();

这似乎有效。创建购物车后,我可以检查,并且报价似乎已创建并填充:

echo $quote->getId() . '<br><br>';
foreach ($quote->getAllItems() as $item) {
    var_dump($item->getProduct()->getName());
}

问题是永远不会附加到用户身上。所以第二个你移动到另一个页面,它会完全忘记你的购物车。我确信(我希望)这是一个我很容易忽视的事情。此时我没有客户ID,因为他们还没有登录。这是他们见过的第一页。

0 个答案:

没有答案