我正在定制一个 POS 扩展,以准备在场外活动中自动售货。
以前,我们只是简单地手动收取销售费用,然后再回去手动添加订单。这个 POS 扩展将让我们使用我们的实时网站来销售商品,然后正确记录销售情况(并且现有的支付方式也可以使用)。
现在,我正在尝试对添加到购物车的商品应用特殊定价。扩展程序的代码这样做是为了将商品添加到购物车:
$product_model = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId());
$session = Mage::getSingleton('checkout/session');
$cart = Mage::getSingleton('checkout/cart');
$product_model = Mage::getModel('catalog/product')
->setStoreId(Mage::app()->getStore()->getId())
->load($pr_id);
if(!$product_model)
throw new Exception("Product id {$pr_id} not found");
$cart->addProduct($product_model, array('qty' => $qty));
$cart->save();
$session->setLastAddedProductId($last_pr_id);
$this->getPos()->getQuote()->collectTotals()->save();
我发现的关于应用定价的一切都是在购物车级别完成的,$item
而不是在购物车级别。在其他代码中,我已经尝试过,$product_model->setCustomPrice($price);
但是那些都不起作用。我觉得我非常接近解决方案。setPrice()
setOriginalPrice()
有经验的人会帮助我在上下文中获取项目或找到在上述代码段中应用折扣的方法吗?
谢谢!