0

我正在为客户制作一个网站,并决定使用代码点火器。

该网站基本上有两个后端,一个用于设计师,一个用于销售团队。所以登录后,用户将被重定向到

  • mysite.com/sales/
  • mysite.com/design/

例如,销售团队可以查看订单、容器、产品,因此我需要一个控制器来处理这些。

  • mysite.com/sales/orders/

销售人员需要能够查看、编辑、删除某些订单...

  • mysite.com/sales/orders/vieworder/235433

基本上我的问题是我没有足够的 url 段来玩。

我对解决问题的想法

  • 删除订单、容器、产品类并将它们的所有方法作为销售类的方法,尽管这意味着大量的方法并加载所有模型,所以这似乎毫无意义。

  • 删除销售/设计师类并根据会话数据中存储的用户类型控制每种用户可以访问的内容。

  • 有一个额外的网址段的方式?

我很感激任何建议,我只是不想在项目中投入 3 周,然后意识到我从一开始就错了!

4

3 回答 3

2

使用文件夹。

如果您在/application/调用中创建一个子文件夹,sales您可以在其中放置不同的控制器:

/application/
    /sales/
      orders.php /* Controller */
    /design/

然后,orders.php您将输入您的vieworders($id)方法等,您将能够使用domain.com/sales/orders/vieworders/id.

您还可以在/models/和中创建子文件夹/views/来组织您的文件。

现在,访问控制是不同的,它更多地取决于您使用的身份验证系统。

于 2011-07-13T18:29:41.557 回答
0

给用户/设计者一个权限,比如用户表中的一列,在函数开头检查用户的权限,然后阻止或执行。

这将是我这样做的确切方式。

于 2011-07-13T18:26:00.433 回答
0

好像你应该看看路由类。可能是一个肮脏的解决方案,但是将 sales/(:any) 重新路由到 sales_$1 之类的东西意味着您将使用 sales_orders 之类的名称制作控制器。设计部分也一样。

(仅供参考:$routing['sales/(:any)'] = 'sales_$1';应该可以解决问题;请参阅 application/config/routing.php)。

于 2011-07-13T18:31:52.333 回答