如上所述,我遇到了一个奇怪的问题,即我添加的所有其他产品都未添加到购物车或Magento中的报价中。
这是可重复的,因为我可以添加一个产品,然后不添加下一个产品(但我确实收到状态消息,说它已经添加了),然后在添加完之后的下一个产品按原样添加。
它不是特定于产品的,就像我第二次添加相同的产品一样,它将按预期添加。
唯一有一点不同的是,在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没有任何记录,但是“正常”项目仍在正常状态。
之前有没有人经历过类似的经历,或者有人可以建议我从哪里开始调查?谢谢!
更改价格后,您不必保存报价项目。
删除并重var_dump($quoteitem->save());
试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句