2013-07-11 198 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

這使得價格計算更安全,所選的選項在購物車中,然後顯示和訂單的細節,並沒有價格重寫問題!

我的堆棧溢出的第一個問題,它是一個社會的地獄,謝謝大家。

相關問題