我试图获得一个登录用户类型(例如超级管理员,注册)。我试过这段代码:用PHP输入Joomla用户输入
$user =& JFactory::getUser();
$curref = $user->usertype();
这给出了一个找不到的函数的错误。获取用户类型名称的正确方法是什么,如果可能的话没有db查询。
我试图获得一个登录用户类型(例如超级管理员,注册)。我试过这段代码:用PHP输入Joomla用户输入
$user =& JFactory::getUser();
$curref = $user->usertype();
这给出了一个找不到的函数的错误。获取用户类型名称的正确方法是什么,如果可能的话没有db查询。
你只需要把usertype当成成员而不是方法。
$type = $user->usertype;
文档:http://docs.joomla.org/Accessing_the_current_user_object
你可以做的var_dump看看在$用户对象的结构。试试这个,并检查输出:如果要遍历组阵列
var_dump($user);
所以,你可以做到以下几点:
$groupIDs = array();
foreach($user->groups as $groupID){
$groupIDs[] = $groupID;
}
var_dump($groupIDs);
您也可以使用一些的Joomla方法返回的组以不同的方式。你可能想看看这个论坛主题:http://forum.joomla.org/viewtopic.php?t=530721
谢谢你的回复任何建议。其实我已经阅读过这个页面,但正如你所说我已经引用了它的错误。原来,我将需要使用组代码,因为我正在寻找的用户类型是在第二级/子级。所以我需要从这个输出/组ID'[“groups”] => array(1){[9] => string(1)“9”}'获取信息。为了在这种情况下得到9,我需要'$ type = $ user-> groups [9];但是我不会知道这个,因为它对每个用户都会有所不同。任何想法如何我可以动态访问这个值? –
任何运气与我的答案,OP? –
@MatthewBlancarte嗨,刚刚尝试过,评论你的答案,并接受它作为答案。希望你能对我留下的评论给予任何帮助,谢谢。 –
刚刚更新了我的答案。 –