默认情况下,Codeigniter购物车类使用其内置会话功能。 CI中的会话类可以配置为使用cookie或数据库,这意味着购物车将 EITHER 使用数据库或cookie来存储会话变量。
但是对于我的网站,我想实现这个:当用户没有登录时,购物车使用cookie数据;当用户登录时,购物车使用存储在数据库中的数据。这意味着购物车类应该能够在cookie和数据库之间切换。
如何在不更改内置购物车类的同时实现这一目标?如果那是不可能的,我可能不得不重写购物车类,这需要一些工作。
答案 0 :(得分:1)
有两种可能的方法。
继承内置的卡片类并覆盖product_insert,product_update和product_delete方法。这更清洁,为您提供更好的可定制性。你需要的功能非常简单,你可以用这样的东西来做。
function product_insert() {
checkUserSignedIn();
if(true) {
parent::product_insert();
} else {
doYourthingHere();
}
}
覆盖所有这样的crud方法,你可以实现你想要的。
http://codeigniter.com/forums/viewthread/212926/P10/#1006680
它具有您需要的一些功能,但您仍需要调整它以完全满足您的要求