0

我在我的 openacart 管理员中添加了 3 个客户组,即

  1. 所有者
  2. 卖方
  3. 客人

当这个客户登录时,我在寻找什么,每个组客户都希望重定向到不同的页面......例如:

如果所有者登录 - 重定向到 (ownerpage.php)

如果卖家登录 - 重定向到(sellerpage.php)

如果访客登录 - 重定向到 (guestpage.php)

并为这些组客户提供一些用户页面权限,如管理员用户权限......任何想法......?是否有任何可用的扩展或必须做任何自我编码......???

谢谢...

4

2 回答 2

2

这些页面是信息页面吗?无论如何,您可以在 catalog/controller/account/account.php 中设置重定向

(示例使用 Opencart 1.5.4.1)

在此行之前:

$this->data['heading_title'] = $this->language->get('heading_title');

添加:

$id = $this->customer->getCustomerGroupId();
   if ($id == 1){
  $this->redirect($this->url->link('custom_page1', '', 'SSL'));
   }
   if ($id == 2){
  $this->redirect($this->url->link('custom_page2', '', 'SSL'));
   }
....

不知道您所说的页面权限是什么意思。也许您可以修改您的问题以使其更清楚。

[编辑:2013-01-23]

要限制对某些信息页面的访问,您可以检查请求的 information_id 和当前用户组,然后输出自定义内容:

在目录/控制器/信息/信息.php 中找到第 62 行:

            $this->response->setOutput($this->render());
    } else {
    ......

在前面添加:

$id = $this->customer->getCustomerGroupId();
        if ($id == 1 && $information_id == 7){
            $this->data['heading_title'] = 'Not allowed.';
            $this->data['description'] = 'You are not allowed to view this page';
        }

根据您的需要修改条件。当然,您可以在其他控制器中执行相同操作,只需删除 information_id 检查即可。当然,您可能只想将用户重定向到主页或其他任何内容,而不是显示自定义消息。但我认为这更优雅,对用户来说也不那么烦人。希望这可以帮助。

于 2013-01-21T10:25:54.103 回答
0

现在最新版本有这个选项(我在 2.0.2 中找到了这个):

$groupid = $this->user->getGroupId();

希望这可以帮助某人。

于 2015-06-14T12:04:10.283 回答