Как отобразить информацию профиля пользователя?


12

Я хочу создать пользовательскую страницу профиля, которая будет отображать только информацию о пользователе, который зашел на мой сайт. Мне нужно отобразить

  • имя пользователя
  • имя
  • зарегистрированная электронная почта

Можно ли создавать настраиваемые поля, но не в форме регистрации, только при входе в систему они должны иметь возможность редактировать страницу своего профиля.

Ответы:


24

Joomla: Доступ к информации о пользователе - объект пользователя

Чтобы получить информацию о пользователе для текущего пользователя:

$user = JFactory::getUser();

Он вернет объект пользователя .
Вот некоторые из наиболее распространенных свойств объекта пользователя:

  • Я бы ($user->id)
  • имя ($user->name)
  • имя пользователя ( $user->username)
  • группы ( $user->groups)
  • электронная почта ( $user->email).

Вы можете проверить, вошел ли пользователь с помощью:

$user->guest; 

Вы можете проверить права доступа пользователя с помощью метода авторизации , например:

$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, либо работают вместе с ним и дают вам дополнительный контроль над управлением пользователями.

Но, как сказано, это зависит от того, что вы хотите сделать. Например, если вы просто планируете создать форум, расширения форума имеют дополнительные поля профиля.

Конечно, всегда есть более продвинутые решения, такие как создание собственного компонента или приложения.


связи


2
Здесь также есть инструкции docs.joomla.org/Creating_a_profile_plugin о настройке плагина профиля для других полей
Джордж Уилсон,

Только не забудьте обновить запросов к базе данных , как ссылка Приведенную выше использования старых стандартов кодирования: docs.joomla.org/Selecting_data_using_JDatabase
Лоддер

Знаете ли вы, как получить информацию о профиле?
Ча

да, проверьте обновленный ответ
FFrewin

7

@ Лоддер правильный. Если вам нужны только некоторые основные поля, вы можете использовать плагин Joomla User Profile, который поставляется вместе с самой Joomla.

Если вы хотите создать некоторые настраиваемые поля, то доступны различные варианты, такие как Community Builder, JomSocial, EasySocial и другие сетевые решения socila. Но если вам не нужно полное решение для сообщества, вы можете найти расширение, созданное только для профилирования пользователей. Профиль Joom может быть вариантом для вас.


Бесплатная или платная версия Easy Profile - еще один хороший вариант: extensions.joomla.org/extensions/extension/…
Нил Робертсон,

5

Вы должны действительно провести некоторое исследование, прежде чем задавать такой вопрос. 2 секунды в Google, и вы получите всю необходимую информацию.

В профиле пользователя есть плагин, который поставляется с Joomla. В бэкэнде Joomla перейдите к

Расширения (верхнее меню) >> Менеджер плагинов >> Профиль пользователя .

Вы увидите следующие настраиваемые поля:

  • адрес 1
  • Адрес 2
  • Город Регион
  • Страна
  • Почтовый индекс
  • Телефон
  • интернет сайт
  • Любимая книга
  • Обо мне
  • Дата рождения

Вы можете выбрать, какие из них вы хотите на странице регистрации и профиля. Если эти поля не те, которые вы ищете, то вы можете посмотреть на Community Builder . Это расширение позволяет добавлять собственные поля и интегрируется с другими расширениями.


2
Я нахожу ваше первое предложение смешным, так как это первый результат в Google для меня. Хотя немного лишней информации никому не повредит.
Бен Флеминг

1
весь смысл подобных вопросов и предоставленные ответы являются лучшим источником информации, чем "материал, найденный в Google", например сообщения в блоге.
RozzA

2

В дополнение к ответам выше, вы можете взглянуть на плагин под названием Nice User Info . Он может отображать некоторую информацию о пользователе, когда пользователь вошел в систему. Также доступна бесплатная версия, но с ограниченными функциональными возможностями.

Чтобы использовать его, просто добавьте {niceuserinfo:usergroup}и поддерживает следующую информацию:

  • ID пользователя
  • ФИО
  • имя пользователя
  • Адрес электронной почты
  • Название группы
  • ID группы
  • Дата регистрации
  • Дата последнего посещения
  • IP-адрес посетителя
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.