2012-10-22 90 views
0

我創建了一些自定義用戶配置文件字段,我只是創建一個編輯用戶配置文件插件(添加profile.xml中的字段等)。現在,當我創建一個用戶或編輯它,我有經典的配置文件字段(城市,地址等)和我自己的領域。 我創建了顯示所有字段的用戶配置文件頁面,但我想編輯此頁面。我想只顯示我的領域或添加一些CSS類等。創建自定義用戶配置文件Joomla 2.5

我該如何編輯它?我在哪裏可以找到它?

以另一種方式我創建另一個頁面,用一個php插件我可以添加一些代碼。我如何訪問我的自定義字段?我試過 http://docs.joomla.org/Accessing_the_current_user_object 但我只能訪問默認的字段。

有誰知道如何訪問這些變量?

PS這是我寫在我的文章用PHP:

 

    $user =& JFactory::getUser(); 

    $userId = $user->id; 

    $db = &JFactory::getDbo(); 
     $db->setQuery(
      'SELECT * FROM phs_user_profiles WHERE user_id = '.$userId.' AND profile_key  LIKE \'myfilevalue1.%\'' 
     ); 
    $results = $db->loadAssocList(); 
    if($results) echo $results[0]['profile_value']; 
    else echo "dont work"; 

它顯示「不工作」 :(

什麼不對的代碼

+0

什麼是你的數據庫文件的結構。例如,您是否不使用使用joomla前綴的#__phs_user_profiles? –

+0

我已經嘗試使用#__但它是一樣的..錯誤是在查詢撇號':) – Edoz

回答

0

你需要編輯com_users視圖(配置文件),並在縱斷面圖中,你可以通過這個訪問用戶一個簡單的方法: -

$user =& JFactory::getUser(); 

//firstly check you got this. 
echo $userId = $user->id; 
// then you can access all fields using userid. 
    $db = &JFactory::getDbo(); 
    $query = "SELECT * FROM phs_user_profiles WHERE user_id = ".$userId; 
     $db->setQuery($query); 
    $results = $db->loadAssocList(); 
// print result using print_r($results); if you get 
    if($results) echo $results[0]['profile_value']; 
    else echo "dont work"; 

也檢查鏈接http://docs.joomla.org/Accessing_the_database_using_JDatabase

+0

謝謝..我不能使用print_r,因爲我的插件不允許它,但是查詢的'有問題' – Edoz

0

首先,你已經錯誤地指定了你的數據庫表,你需要使用#__來定義前綴,例如#__content

你也應該改變th Ë下面的代碼:

if($results) echo $results[0]['profile_value']; 
else echo "dont work"; 

這樣:

if($results) { 
    echo $results[0]['profile_value']; 
} 
else { 
    echo "dont work"; 

} 
+0

我第一次嘗試使用#__,但不改變結果......也與{}是一樣的: ) – Edoz

相關問題