gpt4 book ai didi

php - 马根托 |我如何在自定义模块的购物车中添加产品?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:21 25 4
gpt4 key购买 nike

我目前正在开发 Magento 1.9 上的管理模块 Cart

我坚持要将产品添加到我的购物车(我尝试了很多不同的东西),这就是我请求您帮助的原因。

我的模块扩展了 magento 的其余 API,并且我已经管理了对我的购物车(产品数量)的更新,但现在我希望通过 POST 方法添加新产品。当然,我以客户身份登录。我为这个角色定义了创建权限。 (我可以毫无问题地进行更新)

这是我的代码:

protected function _create(array $data){

$store = $this->_getStore();
Mage::app()->setCurrentStore($store->getId());

$cart = Mage::getModel('checkout/cart');
$cart->init();

$productCollection = Mage::getModel('catalog/product')->load(4);


// Add product to cart
$cart->addProduct($productCollection,
array(
'product_id' => $productCollection->getId(),
'qty' => '1'
)
);
// Save cart
$cart->save();

}

在这个简单的示例中,我尝试在数量 1 中添加产品 ID 4。我的问题是我在日志中没有错误,一切似乎都过去了。但是当我拿到我的购物车时,没有要添加的产品...

作为返回,我有一个代码 200 OK

你有什么建议可以帮助我吗?

非常感谢您的帮助

问候

最佳答案

在遍历整个互联网后,我终于找到了解决方案;)

事实上,当你想在结账前到达购物车时,magento 使用“报价”的定义......对于 Magento 的初学者来说不容易理解......因此,为了方便那些像我一样遇到麻烦的人进行研究,这是我在购物车中添加新产品的代码(结帐前):

//$data['entity_id'] = The id of the product you want to add to the cart
//$data['qty'] = The quantity you want to specify

protected function _create(array $data)
{
$store = $this->_getStore();
Mage::app()->setCurrentStore($store->getId());

// Get Customer's ID
$customerID = $this->getApiUser()->getUserId();

// Load quote by Customer
$quote = Mage::getModel('sales/quote')
->loadByCustomer($customerID);

$product = Mage::getModel('catalog/product')
// set the current store ID
->setStoreId(Mage::app()->getStore()->getId())
// load the product object
->load($data['entity_id']);

// Add Product to Quote
$quote->addProduct($product,$data['qty']);

try {
// Calculate the new Cart total and Save Quote
$quote->collectTotals()->save();
} catch (Mage_Core_Exception $e) {
$this->_error($e->getMessage(),Mage_Api2_Model_Server::HTTP_INTERNAL_ERROR);
}

}

希望对大家有帮助

问候

嘉年华

关于php - 马根托 |我如何在自定义模块的购物车中添加产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com