2012-01-20 33 views
1

我希望能夠設置一個時間段,一個客戶的車就到期,因此,一旦某一項添加到他們的車,他們有時間說15分鐘結賬,所有項目從購物車中刪除,並在這些特定項目補充庫存號碼。如何限制允許的物品留在客戶的購物車Magento的

這是通過改變Cookie的會話時間在Magento的配置,但註銷用戶(和管理員)出的意想不到的副作用。有沒有辦法設置購物車的「會話」時間而不是用戶?

+0

Cookie的會話不會幫助你註銷用戶仍然有他在車中的物品。 –

+1

實際上,超時會話cookie會有所幫助,因爲籃存儲在會話變量。過期的會話意味着'$ _SESSION'數組被破壞。缺點是,它也會將你註銷。 – Polynomial

回答

0

如果Magento有一個通用的包含文件(很可能,因爲它基於Zend),您可以添加一個條目到$_SESSION來指定上次請求的時間。然後,您可以將其與新請求的當前時間進行比較,並在會話超過15分鐘時清除會話中特定於籃子的條目。

if(isset($_SESSION['_last_page_hit'])) 
{ 
    if(time() - (int)$_SESSION['_last_page_hit'] < (60*15)) 
    { 
     unset($_SESSION['basket_whatever']); // unset basket stuff here 
    } 
} 
$_SESSION['_last_page_hit'] = time(); 

您將保持登錄狀態,但任何購物籃數據將被刪除。顯然,你需要找出哪些會話變量需要被取消設置,所以var_dump()打了幾個電話,可能是爲了!

相關問題