我已经制作了自己的购物车组件,所有组件在开发中都可以正常工作,但是在生产中,它的行为方式却有所不同。首先,我虽然是由于joomla会话引起的,但是后来我更改了将购物车产品存储在数据库中的代码,但是行为是相同的:第二次访问任何产品类别时,它都会显示购物车信息首次访问时显示。这是一个问题,因为类别产品列表需要隐藏那些已经添加的产品。
我已经在joomla控制台上打印了一些数据,以便我可以解释其行为:
- 查看类别a。显示视图于:2019-07-12 21:24:22。网址:
index.php?option = com_shoppingcart&type = 1&category = 0&scategory = 0&data =&Itemid = 323。添加的产品之前:-。类别A添加的产品:6108。
- 查看类别e。显示视图于:2019-07-12 21:25:03。网址:
index.php?option = com_shoppingcart&type = 5&category = 0&scategory = 0&data =&Itemid = 332。之前添加的产品:6108。添加到类别e的产品:3824。
- 查看类别a。 显示视图于:2019-07-12 21:25:40 。网址:
index.php?option = com_shoppingcart&type = 1&category = 0&scategory = 0&data =&Itemid = 323。之前添加的产品:6108、3824。类别a添加的产品:6130。
- 查看类别c。显示视图于:2019-07-12 21:26:17。网址:
index.php?option = com_shoppingcart&type = 3&category = 0&scategory = 0&data =&Itemid = 322。之前添加的产品:6108、3824、6130。类别c添加的产品:6166。
- 查看类别e。显示视图于:2019-07-12 21:27:12。网址:
option = com_shoppingcart&type = 5&category = 0&scategory = 0&data =&Itemid = 332。之前添加的产品:6108、3824、6130、6166。类别e添加的产品:5984。
- 查看类别a。 显示视图于:2019-07-12 21:25:40 。网址:
index.php?option = com_shoppingcart&type = 1&category = 0&scategory = 0&data =&Itemid = 323。之前添加的产品:6108,3824。添加到类别a的产品: 6787 。
- 查看类别c。显示视图于:2019-07-12 21:28:06。网址:
index.php?option = com_shoppingcart&type = 3&category = 0&scategory = 0&data =&Itemid = 322。之前添加的产品:6108、3824、6130、6166, 6787 。产品添加到类别c:-。
如上所示,当第三次访问“ a”类别(步骤6)时,显示第二次访问(步骤2)时的结果相同,然后我添加了一个产品并转到“ c”类别第二次(第7步),之前添加的产品似乎一直更新到第6步。
我尝试过:
- 缓存处理程序:文件
- 缓存文件夹的路径:缓存/
- 缓存时间:15
- 系统缓存:关闭|保守渐进式
- 会话处理程序:PHP |数据库
- 会话生存期:15
- 共享的会话:是|否
- 清除了joomla缓存
- 截断的joomla会话表
我正在使用Joomla 3.9.5
有人可以帮助我,我将不胜感激,并感谢您的任何评论或建议。
注意:我将购物车产品存储在一个自己的表上,而不是使用joomla数据库会话处理程序。