2013-07-11 145 views
2

我想有一个产品,基本上是一个计算器,我将建立在Javascript产品动态价格变化。我希望添加购物车流程能够从页面中获取生成的价格并将其提交到购物车 - 这是我所能得到的。Magento的:添加到购物车

我创建了一个观察者挂接到checkout_cart_product_add_after事件,并更新基于提交的表单,其中工程字段值的报价项目的价格。

我遇到的问题是,如果您以不同的价格添加第二个或多个版本的商品,它会将购物车中的所有其他版本更新为相同的价格 - 因此您不能拥有同一商品的倍数在与不同价格的购物车中。

任何人有任何想法?下面是我的观察代码:

public function modifyPrice(Varien_Event_Observer $observer) { 
    $customprice = $_POST["customprice"];  
    $item = $observer->getQuoteItem(); 
    $item = ($item->getParentItem() ? $item->getParentItem() : $item); 
    if ($customprice > 0) { 
     $item->setCustomPrice($customprice); 
     $item->setOriginalCustomPrice($customprice); 
     $item->getProduct()->setIsSuperMode(true); 
    } 
} 
+0

我建议以编程方式向您添加到购物车的产品添加不同的附加选项。然后,Magento会将它们视为不同的报价项目,而不是将它们加在一起。然后,您可以使用JS从购物车DOM中删除这些选项,以便它们不可见 – McNab

+0

这绝对是一个想法,我会给它一个旋转并回复给您。谢谢 – user2565123

+0

检查下面的链接,这可能会帮助你。 http://stackoverflow.com/questions/9721583/changing-the-price-in-quote-while-adding-product-to-cart-magento –

回答

0

我认为得到这个工作的唯一方法是动态创建一个新的产品,新的价格或你尝试用它取代了价格属性的工作,而你必须将此逻辑编码到您的购物车以及您的结帐中。

0

谢谢麦克纳布,我也跟着每个项目添加到购物车与它覆盖的价格克服的问题添加自定义选项的路线 - 它完美地工作。

此外,我决定实际上抢的JS用来生成自定义价格的产品页面上选择的选项,并复制基于所选的选项后端是价格的产生。使用下面的说明将自定义选项添加到产品上的苍蝇,之前它传递到车:

Magento - Quote/order product item attribute based on user input

这使得价格计算更安全,所选的选项在购物车中,然后显示和订单的细节,并没有价格重写问题!

我的堆栈溢出的第一个问题,它是一个社会的地狱,谢谢大家。

相关问题