如上所述,我有一个奇怪的问题,我添加的其他所有产品都没有添加到购物车或Magento的报价中。
这是可重复的,因为我可以添加一个产品,然后下一个产品不添加(但我确实收到状态消息,说它已被添加),然后下一个完成后添加它应该做的。 / p>
它不是特定于某个产品,就像我第二次添加相同的产品一样,它会按预期添加。
我们唯一一个有点不同的是观察者在sales_quote_add_item事件上进行了调用,但这只是在改变定价:
public function update_book_price(Varien_Event_Observer $observer) {
//get the admin session
Mage::getSingleton('core/session', array('name'=>'adminhtml'));
if (!$quoteitem = $observer->getQuoteItem()){
$quoteitem = $observer->getItem();
}
if (!$item = $observer->getEvent()->getQuoteItem()){
$item = $quoteitem;
}
$quote = $item->getQuote();
$product = $item->getProduct();
$price = Mage::helper('users')->getCustomerProductPrice(false,Mage::getModel('catalog/product')->load($product['product_id']),false,true,$_POST['qtys'][$product['product_id']]);
echo "Price : $price \n";
//print_r($price);
$price = $price;
if(!$quoteitem->setOriginalCustomPrice($price)) {
echo "Couldn't set price";
}
else {
echo "price updated, save";
try {
$quoteitem->getProduct()->setIsSuperMode(true);
var_dump($quoteitem->save());
}catch(Exception $e){
echo $e->getMessage() . "\n";
}
}
return $this;
}
我已经在数据库级别进行了检查,并且缺少的项目甚至没有在数据库中 - sales_flat_quote_item没有记录,但“工作”项目正常。
之前有没有人经历过这样的事情,或者有人可以建议我可以开始调查的地方吗?谢谢!
答案 0 :(得分:1)
更改价格后,您无需保存报价项目。
删除var_dump($quoteitem->save());
然后重试。