2013-10-01 27 views
1

我作了如下的代碼得到一些用戶變量在Flash應用程序:的Joomla 3.0不附和用戶類型

<?php 
$user =& JFactory::getUser(); 
echo $user->get('username') ; 
echo $user->get('id') ; 
echo $user->get('name') ; 
echo $user->get('usertype') ; 
?> 

一切,但用戶類型的工作,出於某種原因。 Usertype對於能夠通過我的應用程序獲利至關重要。我跟着這個作爲參考,所以它似乎好:

http://docs.joomla.org/Accessing_the_current_user_object

請告訴我錯在這裏?

+0

Flash應用程序?因此,它在實際的Joomla網站外部,所以你是否導入了Joomla庫? – Lodder

+0

好吧,我把它稱爲一個Flash應用程序,但它基本上是一個Flash swf,用於檢查用戶是否登錄以及他是哪種類型。無論如何,HTML模板中的代碼(除了usertype外,每個echo(在實際頁面上)都適用)。 – FoxLift

+0

你在Joomla 3.0中刪除了'JUser :: $ usertype',因此無法正常工作 – Lodder

回答

1

對,我已經看了一圈,實際上找不到一個體面的解決方案,只是簡單地爲您提供用戶所屬組的名稱。其他的一切給你一個陣列或ID,所以我寫了一個簡單的功能,將讓你正是你想要的:

function getUserGroup($userId){  
    $db = JFactory::getDbo(); 

    $query = $db->getQuery(true); 
    $query->select('title') 
    ->from('#__user_usergroup_map AS map') 
    ->where('map.user_id = '.(int) $userId) 
    ->leftJoin('#__usergroups AS a ON a.id = map.group_id'); 

    $db->setQuery($query); 
    $result = $db->loadResult(); 

    return $result; 
} 

echo getUserGroup($user->id); 

希望這有助於

+0

雖然我擔心我的執行效果不好,但我還是不能完成這個工作,所以我會再試一次。我對編碼相當陌生,所以我認爲我在這裏犯了一些錯誤。將在一段時間內更新。 – FoxLift

+0

好吧,不用擔心。只是爲了讓你知道代碼確實工作,因爲我寫它後測試它:) – Lodder

+0

正如我懷疑,我有一些其他問題,在我的HTML,阻止它正常工作。經過一番清理後,我可以證明它的確工作得很好。謝謝,Lodder! – FoxLift