创建自定义用户配置文件Joomla 2.5

时间:2012-10-22 09:11:44

标签: joomla field profile

我创建了一些自定义用户配置文件字段,我只是创建一个编辑用户配置文件插件(在profile.xml中添加字段等)。现在,当我创建用户或编辑它时,我有经典的配置文件字段(city,addres等...)和我自己的字段。 我创建了显示所有字段的用户个人资料页面,但我想编辑此页面。我只想显示我的字段或添加一些css类等。

我该如何编辑?我在哪里可以找到它?

另一方面,我创建另一个页面,使用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";

显示“不工作”:(

这段代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

首先,您已错误地指定了数据库表。您需要使用#__定义前缀,例如#__content

您还应该更改以下代码:

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

到此:

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

}

答案 1 :(得分: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