1

我正在使用 activecollab 的自定义模块,我需要知道如何在以下对象的帮助下获取登录的用户数据

$this->logged_user 

或者如果有人有其他方法来获取登录用户,请告诉我,我只想在我的页面上打印登录用户信息/数据

修改的:

当我在模型中使用这个对象时,它对我不起作用,所以有人知道登录用户的任何对象吗?这样我就可以获取登录的用户 ID 或其他内容;并且也可以在模型中使用该对象吗?

4

4 回答 4

2

啊终于有解决办法了...

在activecollab中,您可以在没有用户对象的任何地方通过此行获取登录的用户对象$this->logged_user

$this->logged_user = Authentication::getLoggedUser();

并获取登录用户您可以使用的其他基本信息:

$this->logged_user->getId()
$this->logged_user->getName()
$this->logged_user->getDisplayName()
$this->logged_user->getEmail()
$this->logged_user->getCompany()
$this->logged_user->isAdministrator()
$this->logged_user->getLanguage()
于 2012-05-18T10:39:09.940 回答
1

这似乎是解决。不过,如果其他人偶然发现这个问题,这里还是要澄清一下:

  1. $this->logged_user仅在控制器中可用,但在模型中不可用
  2. $logged_user在视图中可用,因此您可以使用以下内容:{$logged_user->getFirstName(true)|clean}
  3. 在其他任何地方,使用Authentication::getLoggedUser()
于 2012-05-18T12:52:35.967 回答
0

我假设您有代码来存储登录的用户信息。

在这种情况下,你应该回应它。

例如:

echo $this->logged_user; 

如果您还没有实现在此之后运行的代码,那么它将无法工作。如果您需要更多信息,请包含更多代码。

根据新信息修改答案

既然我知道这是一个活跃的协作项目,我将在这种情况下进行解释。

object ActiveCollab::findUserById( int $user_id)

这将根据用户 ID 获得一个用户对象,但所有用于此的方法都设置为不获取,即它们写入和不读取。

要阅读,您可以使用 API。有关如何执行此操作的详细信息,请参见此处:http ://www.activecollab.com/docs/manuals/developers/api/companies-and-users

API 请求能够处理读取和写入操作。

于 2012-05-17T12:02:53.243 回答
0

采用

echo $this->logged_user;

打印变量。

于 2012-05-17T12:08:39.337 回答