2012-09-08 130 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];但是我不會知道這個,因爲它對每個用戶都會有所不同。任何想法如何我可以動態訪問這個值? –