Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencart设置商店首选项_Opencart_Opencart2.x - Fatal编程技术网

Opencart设置商店首选项

Opencart设置商店首选项,opencart,opencart2.x,Opencart,Opencart2.x,在Opencart中,我们有以下类型的产品 将运送给客户的印刷书籍(硬拷贝) 同样,我们有数字下载 我们希望在商店级别设置一个选项,用户是否希望查看下载或打印副本 当用户选择下载选项时,它应该只显示所有类别中的可下载产品 当用户选择打印副本时,应仅显示每个类别中的打印产品 欢迎提出实现此功能的任何建议 谢谢 “实现此功能的任何建议” 在我看来(这可能不是最优的),我们需要: 用户首选项的永久存储[5%完成] 如果用户对所有产品感兴趣,1用于数字下载等…,则在表customer中添加一列,类型为

在Opencart中,我们有以下类型的产品

将运送给客户的印刷书籍(硬拷贝)

同样,我们有数字下载

我们希望在商店级别设置一个选项,用户是否希望查看下载或打印副本

当用户选择下载选项时,它应该只显示所有类别中的可下载产品

当用户选择打印副本时,应仅显示每个类别中的打印产品

欢迎提出实现此功能的任何建议

谢谢

“实现此功能的任何建议”

在我看来(这可能不是最优的),我们需要:

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

在我看来(这可能不是最优的),我们需要:

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

我的建议是,首先尝试编写一些代码。然后,当你陷入困境时,你可以来这里寻求帮助。我的建议是,首先尝试编写一些代码。然后,当你陷入困境时,你可以来这里寻求帮助。我的建议是,首先尝试编写一些代码。然后,当你陷入困境时,你可以来这里寻求帮助卡住了。