オフサイト イベントでの販売に備えて、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
、カートレベルではなく、カートレベルで行われます. 他のコードでは、and を試してみ$product_model->setCustomPrice($price);
ましsetPrice()
たsetOriginalPrice()
が、それらは機能しません。解決に大きく近づいた気がします。
ここでの経験を持つ誰かが、状況に応じてアイテムを入手したり、上記のコード セグメントで割引を適用する方法を見つけたりするのを手伝ってくれますか?
ありがとう!