2012-09-08 3 views
2

로그인 한 사용자 유형 (예 : 최고 관리자, 등록)을 얻으려고합니다. 나는이 코드를 시도했다 :PHP가 포함 된 Joomla에서 사용자 유형 가져 오기

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

이것은 기능을 찾을 수 없다는 오류를 준다. 가능한 경우 db 쿼리없이 사용자 유형 이름을 얻는 올바른 방법은 무엇입니까?

+1

행운을 내 대답, OP? –

+0

@MatthewBlancarte 안녕하세요. 방금 해보기를 통해 답변에 댓글을 달고 대답으로 받아 들였습니다. 내가 남긴 코멘트에 대해 당신이 줄 수있는 도움을 주시면 감사하겠습니다. 감사합니다. –

+1

방금 ​​내 대답을 업데이트했습니다. –

답변

6

usertype을 메서드가 아닌 멤버로 처리하면됩니다.

$type = $user->usertype; 

문서 : 당신은 위해서 var_dump를 수행하여 $ 사용자 개체 구조에서 좀 걸릴 수 있습니다

http://docs.joomla.org/Accessing_the_current_user_object.

$groupIDs = array(); 
foreach($user->groups as $groupID){ 
    $groupIDs[] = $groupID; 
} 

var_dump($groupIDs); 

또한 그룹을 반환하는 일부의 joomla 방법을 사용할 수 있습니다 : 당신이 다음 할 수있는, 당신은 그룹의 배열을 반복 할 경우에 따라서

var_dump($user); 

이를 시도하고 출력을 검사 다른 방법으로. 이 포럼 스레드를 체크 아웃 할 수 있습니다 : http://forum.joomla.org/viewtopic.php?t=530721

+0

답장을 보내 주셔서 감사합니다. 나는 실제로이 페이지를 읽었지만 당신이 말했듯이 나는 그것을 잘못 참조했다. 내가 찾는 사용자 유형이 두 번째 레벨/하위에 있기 때문에 그룹 코드를 대신 사용해야합니다. 그래서이 출력/그룹 id'' "group" "=> array (1) {[9] => string (1)"9 "}'에서 정보를 얻어야합니다. 이 경우 9를 얻으려면'$ type = $ user-> groups [9];가 필요 하겠지만, 각 사용자마다 다를 것이므로이 사실을 알지 못합니다. 어떻게하면이 값에 동적으로 액세스 할 수 있습니까? –