我也在这里问https://magento.stackexchange.com/questions/167982/magento-1-9-x-how-to-add-an-extra-fee-to-order-while-adding-item-to-cart-progra但是还没有得到任何答案,所以我在这里问。
我正在以编程方式将项目添加到购物车(下面的代码)中,并希望为订购添加额外费用。我在这里发现了很多结果,但由于我是magento的新手,因此无法遵循。任何人都可以分享创建文件的位置(观察者,带有路径的config.xml等)以及该文件的名称应该是什么?下面的代码是将商品成功添加到购物车,但我无法为完成订单添加费用。
任何帮助都会非常明显。
提前致谢。我的代码是:
$productId = 13114;
$price_extra = 50.00;
$product_model = Mage::getModel('catalog/product');
$code = Mage::app()->getStore()->getCode();
$_product = Mage::getModel('catalog/product')->load($productId);
$_product->setMinimalPrice($price_extra);
$cart = Mage::getSingleton('checkout/cart');
$cart->init();
$params = array(
'product' => $productId,
'related_product' => null,
'qty' => 1,
'options' => array(
2 => array('7', '8', '9', '10', '11', '12'),
1 => array('1', '2', '3', '4', '5', '6'),
)
);
$customer = Mage::getSingleton('customer/session')->getCustomer();
$storeId = $customer->getStoreId();
$cart->addProduct($_product, $params);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
答案 0 :(得分:0)
加载产品后,您可以设置该产品的价格,替换此行
$_product->setMinimalPrice($price_extra);
用这个
$_product->setPrice($_product->getPrice()+$price_extra);
答案 1 :(得分:0)
您需要使用事件观察者设置自定义价格
使用此活动。 sales_quote_add_item 1. config.xml
< frontend>
< events>
< sales_quote_add_item>
< observers>
< mymodule_observer>
< type> singleton< /类型>
< class> MyCompany_MyModule_Model_Observer< / class>
< method> updateCartPrice< / method>
< / mymodule_observer>
< / observers>
< / sales_quote_add_item>
< / events>
< / frontend>
class MyCompany_Mymodule_Model_Observer {
public function updateCartPrice(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$quoteItem = $event->getQuoteItem();
$product = $item->getProduct();
$extraPrice = 100;
$customPrice = $product->getFinalPrice() + $extraPrice;
$quoteItem->setOriginalCustomPrice($customPrice);
$quoteItem->setCustomPrice($customPrice);
$quoteItem->save();
}
}
试试这个。它会对你有用。