2014-04-01 25 views
0

我在項目中使用SyliusCartBundle,SyliusFlowBundle和SyliusOrderBundle。所以我宣佈了自己的Cart,CartItem模型和CartManager。我使用購物車時沒有問題,但是如何將購物車轉換爲訂單?SyliusCart如何轉換爲SyliusOrder

我必須一直處理訂單模型嗎?

在Sylius中處理這個用例的首選方法是什麼?

http://docs.sylius.org/en/latest/bundles/SyliusOrderBundle/builder.html在哪裏?我無法在SyliusOrderBundle中找到OrderBuilder類。

回答

1

我認爲在Sylius中,購物車和訂單之間的唯一區別在於狀態。

我的意思是,只有一個訂單表和一個訂單項目表。當你添加一些物品到你的購物車時,它會被保存到具有特定狀態的訂單/訂單物品表中,一旦你退房,一旦你付款成功等,它會改變等。

如果你認爲這是有道理的關於它。

因此,將購物車條目轉換爲訂單條目的事件監聽器響應由控制器觸發的購物車/訂單生命週期事件。在你的情況下,結帳流程。

該文檔有點舊,正在重寫(我認爲)。 我認爲你最好的選擇是退房https://github.com/Sylius/Sylius 這是一個基於所有sylius包的完整工作應用程序,你可以玩它來了解它是如何工作的。查看CoreBundle註冊的事件偵聽器。

如果你看看CoreBundle /型號的文件夾,你會看到Sylius \包\ CoreBundle \型號\秩序延伸Sylius \包\ CartBundle \型號\車

HTH