我使用以下代码将可配置产品添加到购物车中。
$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需要设置为此引号。
任何人都能帮助我吗?
答案 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);