2012-09-08 86 views
2

我试图获得一个登录用户类型(例如超级管理员,注册)。我试过这段代码:用PHP输入Joomla用户输入

$user =& JFactory::getUser(); 
$curref = $user->usertype(); 

这给出了一个找不到的函数的错误。获取用户类型名称的正确方法是什么,如果可能的话没有db查询。

+1

任何运气与我的答案,OP? –

+0

@MatthewBlancarte嗨,刚刚尝试过,评论你的答案,并接受它作为答案。希望你能对我留下的评论给予任何帮助,谢谢。 –

+1

刚刚更新了我的答案。 –

回答

6

你只需要把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

+0

谢谢你的回复任何建议。其实我已经阅读过这个页面,但正如你所说我已经引用了它的错误。原来,我将需要使用组代码,因为我正在寻找的用户类型是在第二级/子级。所以我需要从这个输出/组ID'[“groups”] => array(1){[9] => string(1)“9”}'获取信息。为了在这种情况下得到9,我需要'$ type = $ user-> groups [9];但是我不会知道这个,因为它对每个用户都会有所不同。任何想法如何我可以动态访问这个值? –