如何为magento中添加到购物车的产品设置userid?

时间:2015-08-18 14:18:39

标签: magento cart

我使用以下代码将可配置产品添加到购物车中。

                $product_id = 123; 
                $qty        = 1; 
                $product    = Mage::getModel('catalog/product')->load($product_id);
                $cart       = Mage::getModel('checkout/cart'); 
                $cart->init();

                $superAttributeArray = array('151' => '3');

                $params = array(
                            'product' => $product_id,
                            'qty'     => $qty,
                            'super_attribute' => $superAttributeArray
                             );
                $cart->addProduct($product, $params);
                $cart->save();

此代码效果很好,我可以将产品添加到购物车中。在数据库中进行了相同的测试。

我想映射创建的报价的用户ID。 只有在登录后才会添加产品。 当我使用上面的代码添加产品时,'sales_flat_quote'表中的customer_id字段为NULL。我希望当前登录的用户ID需要设置为此引号。

任何人都能帮助我吗?

2 个答案:

答案 0 :(得分:0)

请尝试以下代码。

if(Mage::getSingleton('customer/session')->isLoggedIn()) {
     $customerData = Mage::getSingleton('customer/session')->getCustomer();
     $customerId = $customerData->getId();
}

如果您有任何疑问,请告诉我

答案 1 :(得分:0)

您应该将此添加到当前的客户用户会话中(如果他们已登录或不登录则无关紧要)

...
$cart->addProduct($product, $params);

$session = Mage::getSingleton(
    'core/session', array('name'=>'frontend')
);

$session->setLastAddedProductId($product->getId());
$session->setCartWasUpdated(true);