我正在使用下面的代码将可配置的产品添加到购物车中。
$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需要设置为这个报价。
有谁能帮我一下吗?试试下面的代码。
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
$customerData = Mage::getSingleton('customer/session')->getCustomer();
$customerId = $customerData->getId();
}
如果您有任何疑问请告诉我
您应该考虑将此添加到当前客户用户会话中(无论他们是否登录)
...
$cart->addProduct($product, $params);
$session = Mage::getSingleton(
'core/session', array('name'=>'frontend')
);
$session->setLastAddedProductId($product->getId());
$session->setCartWasUpdated(true);