gpt4 book ai didi

Magento checkout_cart_product_add_before 并获取添加的产品数量

转载 作者:行者123 更新时间:2023-12-02 12:39:56 25 4
gpt4 key购买 nike

我创建了事件 checkout_cart_product_add_before: http://markshust.com/2012/08/27/create-checkout_cart_product_add_before-observer-magento

然而,当我执行此操作时, getQuoteItem() 似乎不可用,因此我无法获取添加到购物车的产品数量。当我使用 _after 方法时,我可以使用:

public function checkStock2($observer) {
Mage::log("Check stock before");
$request = $observer->getQuoteItem();
Mage::log("q in order = " .$request['qty'] ."");
}

但是,当我之前时,我无法到达 getQuoteItem,因为它还不存在。有没有办法获取用户尝试添加到购物车的产品数量?

谢谢!

最佳答案

如果您实现了链接的观察者,您就会丢失所需的信息。您必须在您的dispatchEvent中添加请求,以便检查用户选择的内容:

public function addProduct($productInfo, $requestInfo=null)
{
$product = $this->_getProduct($productInfo);
$request = $this->_getProductRequest($requestInfo);
Mage::dispatchEvent('checkout_cart_product_add_before', array(
'product' => $product,
'request' => $request
));

return parent::addProduct($productInfo, $requestInfo);
}

然后您将能够通过以下方式检索观察者中的用户数量:

$observer->getEvent()->getRequest()->getQty();

->getRequest() 方法是指您的dispatchEvent 的“request”参数的神奇getter。

关于Magento checkout_cart_product_add_before 并获取添加的产品数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574104/

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