0

我创建了一些自定义用户配置文件字段,我只是创建了一个编辑用户配置文件插件(在 profile.xml 等中添加字段)。现在,当我创建或编辑用户时,我有经典的个人资料字段(城市、地址等)和我自己的字段。我创建了显示所有字段的用户个人资料页面,但我想编辑此页面。我想只显示我的字段或添加一些 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'];
    否则回显“不工作”;

它显示“不工作”:(

这段代码有什么问题?

4

2 回答 2

0

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

您还应该更改以下代码:

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

对此:

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

}
于 2012-10-22T11:05:06.247 回答
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

于 2012-10-22T11:35:41.907 回答