我创建了一些自定义用户配置文件字段,我只是创建一个编辑用户配置文件插件(在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";
显示“不工作”:(
这段代码出了什么问题?
答案 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