Opencart设置商店首选项
在Opencart中,我们有以下类型的产品 将运送给客户的印刷书籍(硬拷贝) 同样,我们有数字下载 我们希望在商店级别设置一个选项,用户是否希望查看下载或打印副本 当用户选择下载选项时,它应该只显示所有类别中的可下载产品 当用户选择打印副本时,应仅显示每个类别中的打印产品 欢迎提出实现此功能的任何建议 谢谢 “实现此功能的任何建议” 在我看来(这可能不是最优的),我们需要:Opencart设置商店首选项,opencart,opencart2.x,Opencart,Opencart2.x,在Opencart中,我们有以下类型的产品 将运送给客户的印刷书籍(硬拷贝) 同样,我们有数字下载 我们希望在商店级别设置一个选项,用户是否希望查看下载或打印副本 当用户选择下载选项时,它应该只显示所有类别中的可下载产品 当用户选择打印副本时,应仅显示每个类别中的打印产品 欢迎提出实现此功能的任何建议 谢谢 “实现此功能的任何建议” 在我看来(这可能不是最优的),我们需要: 用户首选项的永久存储[5%完成] 如果用户对所有产品感兴趣,1用于数字下载等…,则在表customer中添加一列,类型为
- 用户首选项的永久存储[5%完成]
如果用户对所有产品感兴趣,
用于数字下载等…,则在表1
中添加一列,类型为customer
,值为INT
,等等…,如果您以后可能会添加新的首选项,然后最好将所有用户首选项的序列化版本存储在类型为0
TEXT
- 检索用户首选项的方法[25%完成]
您可以在每次需要时从数据库中检索它,更好的方法是将它保存在会话中,就像保存类
中的用户数据(如地址、电话)一样user
- 更改用户首选项的方法[40%完成]
在用户设置页面的一些复选框中,用户首选项最好显示在其姓名旁边的标题中,并且可以直接从那里编辑 - 最后,根据该偏好显示产品[100%完成:D]
您需要更改类别页面、畅销书模块、最新产品的控制器中的某些代码。。。。(任何涉及展示产品的模块)- 简单、天真、丑陋的解决方案:
您会注意到,有一个代码段将产品数据复制到视图数据,它看起来像
在OC 2.X和$data['products'][]=array(
对于OC 2之前的版本,这里一个简单的if条件就足够了,只需检查用户偏好,并相应地决定是否将产品复制到视图数据$this->data['products'][]=array(
- 更好的解决方案:
从一开始就根据用户偏好在模型函数中筛选产品,为所有检索产品的模型函数添加一个额外的可选参数(不要忘记检索产品的函数)指示用户首选项的,请检查模型函数内部。如果参数已设置,则是否在查询中工作
- 简单、天真、丑陋的解决方案:
- 用户首选项的永久存储[5%完成]
如果用户对所有产品感兴趣,则向表
中添加一列,类型为customer
,值为INT
,0
用于数字下载等…,如果以后可能会添加新的首选项,则最好将所有用户首选项的序列化版本存储在中类型为1
TEXT
- 检索用户首选项的方法[25%完成]
您可以在每次需要时从数据库中检索它,更好的方法是将它保存在会话中,就像保存类
中的用户数据(如地址、电话)一样user
- 更改用户首选项的方法[40%完成]
在用户设置页面的一些复选框中,用户首选项最好显示在其姓名旁边的标题中,并且可以直接从那里编辑 - 最后,根据该偏好显示产品[100%完成:D]
您需要更改类别页面控制器、畅销书模块、最新产品中的某些代码……(任何涉及显示产品的模块)- 简单、天真、丑陋的解决方案:
您会注意到,有一个代码段将产品数据复制到视图数据,它看起来像
在OC 2.X和$data['products'][]=array(
对于OC 2之前的版本,这里一个简单的if条件就足够了,只需检查用户偏好,并相应地决定是否将产品复制到视图数据$this->data['products'][]=array(
- 更好的解决方案:
从一开始就根据用户偏好在模型函数中筛选产品,为所有检索产品的模型函数添加一个额外的可选参数(不要忘记检索产品的函数)指示用户首选项的,请检查模型函数内部。如果参数已设置,则是否在查询中工作
- 简单、天真、丑陋的解决方案: