我正在使用 activecollab 的自定义模块,我需要知道如何在以下对象的帮助下获取登录的用户数据
$this->logged_user
或者如果有人有其他方法来获取登录用户,请告诉我,我只想在我的页面上打印登录用户信息/数据
修改的:
当我在模型中使用这个对象时,它对我不起作用,所以有人知道登录用户的任何对象吗?这样我就可以获取登录的用户 ID 或其他内容;并且也可以在模型中使用该对象吗?
我正在使用 activecollab 的自定义模块,我需要知道如何在以下对象的帮助下获取登录的用户数据
$this->logged_user
或者如果有人有其他方法来获取登录用户,请告诉我,我只想在我的页面上打印登录用户信息/数据
修改的:
当我在模型中使用这个对象时,它对我不起作用,所以有人知道登录用户的任何对象吗?这样我就可以获取登录的用户 ID 或其他内容;并且也可以在模型中使用该对象吗?
啊终于有解决办法了...
在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()
这似乎是解决。不过,如果其他人偶然发现这个问题,这里还是要澄清一下:
$this->logged_user
仅在控制器中可用,但在模型中不可用$logged_user
在视图中可用,因此您可以使用以下内容:{$logged_user->getFirstName(true)|clean}
Authentication::getLoggedUser()
我假设您有代码来存储登录的用户信息。
在这种情况下,你应该回应它。
例如:
echo $this->logged_user;
如果您还没有实现在此之后运行的代码,那么它将无法工作。如果您需要更多信息,请包含更多代码。
根据新信息修改答案
既然我知道这是一个活跃的协作项目,我将在这种情况下进行解释。
object ActiveCollab::findUserById( int $user_id)
这将根据用户 ID 获得一个用户对象,但所有用于此的方法都设置为不获取,即它们写入和不读取。
要阅读,您可以使用 API。有关如何执行此操作的详细信息,请参见此处:http ://www.activecollab.com/docs/manuals/developers/api/companies-and-users
API 请求能够处理读取和写入操作。
采用
echo $this->logged_user;
打印变量。