¿Cómo mostrar la información del perfil de usuario?


12

Quiero crear una página de perfil personalizada que solo muestre los detalles del usuario que ha iniciado sesión en mi sitio web. Necesito mostrar

  • nombre de usuario
  • nombre
  • Correo electrónico registrado

¿También es posible crear campos personalizados pero no en el formulario de registro, solo cuando inician sesión, deberían poder editar su página de perfil?

Respuestas:


24

Joomla: Acceso a la información del usuario - El objeto de usuario

Para obtener información del usuario para el usuario actual:

$user = JFactory::getUser();

Devolverá el objeto de usuario .
Aquí, algunas de las propiedades de objetos de usuario más comunes :

  • carné de identidad ($user->id)
  • nombre ($user->name)
  • nombre de usuario ( $user->username)
  • grupos ( $user->groups)
  • correo electrónico ( $user->email).

Puede verificar si el usuario ha iniciado sesión con:

$user->guest; 

Puede verificar los privilegios de acceso del usuario con el método de autorización , por ejemplo:

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


Perfiles de usuario

Para campos personalizados adicionales, esto depende de lo que intente lograr. Hay un complemento de Joomla "Perfil de usuario" que contiene muchos campos de perfil personalizados y que puede personalizar aún más.


Actualización: acceso a los datos del perfil de usuario

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

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

Por otro lado, hay otras extensiones de terceros como Community Builder, JomSocial, Easy Social que le permiten crear un sitio de comunidad de usuarios, donde puede tener usuarios con información de perfil extendida. Si no necesita crear una comunidad, existen otras extensiones que anulan / extienden el componente central com_user o que funcionan en conjunto con él y le brindan un control adicional sobre la administración de usuarios.

Pero como se dijo, depende de lo que quieras hacer. Por ejemplo, si solo planea crear un foro, las extensiones del foro tienen campos de perfil adicionales.

Por supuesto, siempre hay soluciones más avanzadas, como crear su propio componente o aplicación.


Enlaces


2
También hay instrucciones aquí docs.joomla.org/Creating_a_profile_plugin sobre cómo personalizar el complemento de perfil para otros campos también
George Wilson

Solo recuerde actualizar las consultas de la base de datos, ya que el enlace proporcionado anteriormente utiliza estándares de codificación antiguos: docs.joomla.org/Selecting_data_using_JDatabase
Lodder

¿Sabes cómo recuperar información de perfil?
cha

sí, verifique la respuesta actualizada
FFrewin

7

@Lodder es correcto. Si solo desea algunos campos básicos, puede usar el complemento de perfil de usuario de Joomla, que viene con Joomla.

Si desea crear algunos campos personalizados, existen varias opciones disponibles, como Community Builder, JomSocial, EasySocial y otras soluciones de red de socila. Pero si no desea la solución de comunidad completa, puede buscar la extensión que está diseñada solo para la creación de perfiles de usuario. Joom Profile puede ser una opción para ti.


La versión gratuita o de pago de Easy Profile es otra buena opción: extensiones.joomla.org/extensions/extension/…
Neil Robertson

5

Realmente deberías investigar un poco antes de hacer una pregunta como esta. 2 segundos en Google y tendrías toda la información que necesitabas.

Hay un complemento en el perfil de usuario que viene con Joomla. En el backend de Joomla, ve a

Extensiones (menú superior) >> Administrador de complementos >> Perfil de usuario .

Verá los siguientes campos personalizados:

  • Dirección 1
  • Dirección 2
  • Región de la ciudad
  • País
  • Código postal
  • Teléfono
  • Sitio web
  • Libro favorito
  • Sobre mí
  • Fecha de nacimiento

Puede elegir cuáles desea en la página de registro y perfil. Si estos campos no son los que está buscando, puede consultar Community Builder . Esta extensión le permite agregar sus propios campos personalizados y se integra con otras extensiones.


2
Encuentro tu primera oración graciosa ya que este es el primer resultado en Google para mí. Aunque un poco de información redundante no hace daño a nadie.
Ben Fleming

1
Todo el tema de preguntas como esta, y las respuestas proporcionadas, es una mejor fuente de información que "cosas encontradas en Google", por ejemplo, publicaciones de blog.
RozzA

2

Además de las respuestas anteriores, es posible que desee echar un vistazo a un complemento llamado Nice User Info . Puede mostrar cierta información del usuario cuando un usuario inicia sesión. También hay disponible una versión gratuita, pero con funcionalidad limitada.

Para usarlo, simplemente agregue {niceuserinfo:usergroup}y admita la siguiente información:

  • ID de usuario
  • Nombre completo
  • Nombre de usuario
  • Dirección de correo electrónico
  • Nombre (s) del grupo
  • ID (s) de grupo
  • Fecha de Registro
  • Fecha de la última visita
  • Dirección IP del visitante
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.