0

默认情况下,Codeigniter 购物车类使用其内置的会话功能。CI 中的 Session 类可以配置为使用 cookie 或数据库,这意味着购物车将使用数据库或cookie来存储会话变量。

但是对于我的网站,我想实现这一点:当用户未登录时,购物车使用 cookie 数据;当用户登录时,购物车使用存储在数据库中的数据。这意味着购物车类应该能够在 cookie 和数据库之间切换。

如何在不更改内置购物车类的情况下实现这一目标?如果那不可能,我可能不得不重写需要一些工作的购物车类。

4

1 回答 1

1

有两种可能的方法。

  1. 继承您的内置卡片类并覆盖 product_insert、product_update 和 product_delete 方法。这更清洁,并为您提供更好的可定制性。您需要的功能非常简单,您可以使用类似的方法来实现。

    function product_insert() {   
      checkUserSignedIn();   
      if(true) {
        parent::product_insert();   
      } else {
        doYourthingHere();   
      } 
    }
    

覆盖所有像这样的 crud 方法,你可以实现你想要的。

  1. 使用自定义库

http://codeigniter.com/forums/viewthread/212926/P10/#1006680

它具有您需要的一些功能,但您仍然必须对其进行调整以完全适合您的要求

于 2012-07-15T06:54:21.013 回答