2013-06-27 100 views
0

我構建電子商務,並且我有一個小而無聊的問題。要命令你的購物車,你必須登錄,所以我已經添加了一個安全規則,如果他沒有登錄登錄頁面,用戶在登錄頁面中重定向。但登錄(或註銷)後,購物車被清除。購物車通過比較存儲在數據庫中的會話ID和會話ID來恢復(數據庫中的一個購物車對應於用戶購物車中的一個產品)。我精確地使用了FOSUserBundle。任何解決方案Symfony2 - 如何使用FOS User Bundle登錄/註銷時不刪除當前會話

回答

-1

你檢查出knplabs電子商務捆綁http://knpbundles.com/keyword/ecommerce。它們包含多個捆綁包,可以幫助您構建包括購物卡的電子商務解決方案。


我相信你在你的應用程序指定會話cookie的生命,讀http://symfony.com/doc/current/components/http_foundation/session_configuration.html#session-cookie-lifetime

+0

我無法使用Sylius,因爲我的應用程序太具體。但這不是會話cookie生存期問題,問題是我註銷會話時被清除。 我已經解決了登錄問題:我在會話中設置了「cartSessionId」(我得到它而不是直接獲取會話ID),並且它不會通過登錄被刪除。 – qmarlats

1

這是一個有點晚了,但你可以嘗試添加以下的文件security.yml

security: 
    session_fixation_strategy: none 

    # ... 
+0

我試過了,它沒有什麼不同 - 當FOSUserBundle註銷我時,會話Id被改變了。 – beterthanlife

+0

我很久沒有使用FOSUser了。我不認爲,但有可能干擾這種行爲的捆綁包發生了變化。在所有情況下,請記住重置您的緩存。 – Gnucki