我是Magento社区版的新手。 这可能是一件小事,但不知道该怎么做。
我想将购物车价格设为cartprice * 5? 示例 - 如果购物车商品重量大于10kg,则将cartprice设置为(10 * 5)。
答案 0 :(得分:0)
您可以通过事件观察者执行此操作。
<checkout_cart_product_update_after>
<observers>
<update_price_edit_save_product>
<class>ABC_MModule_Model_Observer</class>
<method>cartUpdatePrice</method>
</update_price_save_product>
</observers>
</checkout_cart_product_update_after>
在Observer类中定义此函数,并按照项目设置价格执行实现。
public function cartUpdatePrice(Varien_Event_Observer $obs){
// Get the quote item
$item = $obs->getQuoteItem();
// Ensure we have the parent item, if it has one
$item = ( $item->getParentItem() ? $item->getParentItem() : $item );
//hidden filed from detail page
$item->setCustomPrice($new_price);
$item->setOriginalCustomPrice($new_price);
$item->getProduct()->setIsSuperMode(true);
}
答案 1 :(得分:0)
您可以使用事件观察器创建自己的模块来完成此任务。首先定义重量的商店配置值以及增加的次数,即10kgs和5次。
使用事件 checkout_cart_product_update_after ,您可以调用您的观察者函数并在该函数中包含以下代码
$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
$weight = 0;
foreach($items as $item) {
$weight += ($item->getWeight() * $item->getQty()) ;
}
if($weight > Mage::getStoreConfig('weight'))){
$weight = $weight * Mage::getStoreConfig('number of times you want to increase)
}
return $weight;