2014-01-08 82 views
7

我有帆布橫幅印刷網站。我希望客戶輸入寬度和高度,並使用我自己的自定義表格進行計算並顯示價格。現在我想將計算價格轉移到購物車,並從那裏轉到訂單生成。我檢查了prestashop表的購物車,但它存儲產品ID並加入產品表以獲取價格。無論如何要達到我的要求嗎?Prestashop定製/計算產品價格

+0

你有沒有解決方案?我有類似的問題 –

回答

3

此功能在prestashop中默認不可用,我現在不知道任何模塊,可以在不超載核心功能的情況下執行此操作。我只爲您提供理論和一些文件參考。請嘗試。

讓我們考慮以下一般假設:

一)計量單位爲英寸。

二)每英寸的價格是5美元

c)你還需要一個價格計算公式,在這個例子中可以是

finalPrice = width x height x 5 //width and height are formula variables 

現在,你可以執行下列步驟的Prestashop :

1)更新購物車表格,並添加三個字段,寬度,高度和最終價格。 (字段的數量可能會根據您的公式變量而有所不同。)

2)重載車類併爲width,height和final_price添加屬性。您還需要重寫從購物車獲取所有產品的方法,並檢查購物車產品是否具有自定義價格或寬度和高度。所有的稅收,運費也可以在那裏適用。 3)如果你使用ajax添加到購物車功能,那麼你需要修改一下blockcart模塊。您可能需要修改ajax-cart.js以獲取寬度,高度和最終價格值以發佈到購物車控制器。此外,blockcart-json.tpl可能需要一些修改,因爲此文件用於填充購物車塊內容。你也可能需要修改blockcart.tpl文件,你可以在其中顯示寬度和高度等。這樣你就可以在blockcart中顯示變量。

4)現在下一步實際上是將產品添加到購物車。數據發佈到CartController,因此您需要覆蓋它,並從發佈的數據接收寬度,高度和最終價格。如果寬度,高度和最終價格可用,您將需要進行適當的檢查以檢測定製價格產品。

5)您將需要覆蓋OrderController以使用寬度,高度和最終價格填充購物車頁面產品列表。

6)在所有上述理論中,我們已經將產品添加到購物車,並且填充了寬度,高度和最終價格數據的blockcart和購物車頁面。下一步是完成訂單。爲此,您需要使用訂單類,訂單控制器和購物車類。和order_product表。在產品表中添加與cart_products表中的寬度,高度和final_price相同的字段。然後修改訂單類並將這些屬性添加到訂單類中。

7)您將需要重寫PaymentModule類並在validateOrder方法中進行更改。此方法處理您在訂購步驟,保存訂單,發送電子郵件給客戶以及(如果啓用的話)網站管理員的最後一步。所以在這裏您需要在訂單產品數據庫插入代碼中添加寬度,高度和最終價格信息。您還需要將這些變量提供給電子郵件模板,以便客戶可以在電子郵件中獲取產品的寬度,高度和最終價格。

8)您還需要修改訂單歷史記錄部分,以便客戶可以在他/她的訂單歷史記錄中查看所有這些詳細信息。

9)您需要對Admin Order控制器進行更改,才能在管理員的順序視圖部分顯示這些數據。

10)最後(實際上並非最終:P),您需要對pdf發票進行更改,以便在pdf發票中也顯示寬度,高度和最終價格。

注:以上理論來自我在prestashop中的類似功能的經驗,根據您的要求可能工作或不工作。

試試這個,我希望你會使其工作:) ..

好運...