如何显示用户资料信息?


12

我想创建一个自定义配置文件页面,该页面仅显示已登录我的网站的用户的详细信息。我需要展示

  • 用户名
  • 名称
  • 注册的电子邮件

是否还可以创建自定义字段,但不能在注册表单上创建,仅当他们登录时,他们才应该能够编辑其个人资料页面。

Answers:


24

Joomla:访问用户信息-用户对象

获取当前用户的用户信息:

$user = JFactory::getUser();

它将返回用户对象
这里是一些最常见的用户对象的属性:

  • ID ($user->id)
  • 名称 ($user->name)
  • 用户名($user->username
  • 组($user->groups
  • 电子邮件($user->email)。

您可以使用以下命令检查用户是否登录

$user->guest; 

您可以使用authorize方法检查用户的访问权限,例如:

$user->authorise('core.admin', 'com_component')


用户资料

对于其他自定义字段,这取决于您要实现的目标。有一个Joomla核心插件“用户个人资料”,其中包含许多自定义个人资料字段,您可以进一步对其进行自定义。


更新:访问用户配置文件数据

jimport( 'joomla.user.helper' ); 
$user = JFactory::getUser();
$userId = $user->id; 
$userProfile = JUserHelper::getProfile( $userId );

echo "Main Address :" . $userProfile->profile['address1'];

另一方面,还有其他第三方扩展,例如Community Builder,JomSocial,Easy Social,可让您构建用户社区站点,在该站点中,您可以让用户拥有扩展的个人资料信息。如果您不需要建立社区,则可以使用其他扩展来覆盖/扩展com_user核心组件,或者将其与com_user核心组件结合使用,并为您提供对用户管理的额外控制。

但是如前所述,这取决于您想做什么。例如,如果您仅计划建立一个论坛,则该论坛扩展将具有额外的个人资料字段。

当然,总会有更高级的解决方案,例如构建自己的组件或应用程序。


链接


2
这里还有说明docs.joomla.org/Creating_a_profile_plugin有关自定义配置文件插件的其他领域以及
乔治·威尔逊

只需记住要更新数据库查询,因为上面提供的链接使用的是旧的编码标准:docs.joomla.org/Selecting_data_using_JDatabase
Lodder

您知道如何检索个人资料信息吗?
2014年

是的,请检查更新的答案
FFrewin

7

@Lodder是正确的。如果只需要一些基本字段,则可以使用Joomla随附的Joomla User Profile插件。

如果要创建一些自定义字段,则可以使用各种选项,例如Community Builder,JomSocial,EasySocial和其他socila网络解决方案。但是,如果您不希望使用完整的社区解决方案,则可以查找仅针对用户配置文件构建的扩展。Joom配置文件可以为您提供一个选择。


易档案的免费或付费的版本是另一个很好的选择:extensions.joomla.org/extensions/extension/...
尼尔罗伯逊

5

在问这样的问题之前,您真的应该做一些研究。在Google上停留2秒钟,您将获得所需的所有信息。

Joomla附带有一个in User Profile插件。在Joomla后端中,转到

扩展(顶部菜单)>> 插件管理器 >> 用户个人资料

您将看到以下自定义字段:

  • 地址1
  • 地址2
  • 城市地区
  • 国家
  • 邮政编码
  • 电话
  • 网站
  • 最喜欢的书
  • 关于我
  • 出生日期

您可以在注册和个人资料页面上选择所需的内容。如果这些字段不是您要查找的字段,那么您可能需要查看Community Builder。此扩展允许您添加自己的自定义字段并与其他扩展集成。


3
我发现您的第一句话很有趣,因为这对我来说是Google的第一个结果。尽管一点点多余的信息不会伤害任何人。
本·弗莱明

2
与“在Google上找到的东西”(例如博客帖子)相比,像这样的问题的全部要点以及提供的答案是更好的信息来源。
RozzA '16

2

除了上述答案之外,您可能还想看看一个名为Nice User Info的插件。当用户登录时,它可以显示一些用户信息。也可以使用免费版本,但功能有限。

要使用它,只需添加{niceuserinfo:usergroup},并支持以下信息:

  • 用户身份
  • 全名
  • 用户名
  • 电子邮件地址
  • 组名
  • 组ID
  • 登记日期
  • 上次访问日期
  • 访客的IP地址
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.