Як відобразити інформацію про профіль користувача?


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 та інші соціальні рішення. Але якщо ви не хочете повного рішення спільноти, тоді ви можете шукати розширення, побудовані лише для профілювання користувачів. Joom Profile може бути варіантом для вас.


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

5

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

Існує плагін в профіль користувача, який постачається разом з Joomla. У сервісі Joomla перейдіть на сторінку

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

Ви побачите такі спеціальні поля:

  • адреса 1
  • Адреса 2
  • Міський регіон
  • Країна
  • Поштовий індекс
  • Телефон
  • Веб-сайт
  • Улюблена книга
  • Про мене
  • Дата народження

На сторінці реєстрації та профілю ви можете вибрати, які саме ви хочете. Якщо ці поля не є тими, що ти шукаєш, то, можливо, ти захочеш подивитися на Builder Community . Це розширення дозволяє додавати власні власні поля та інтегруватись з іншими розширеннями.


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

2
вся суть таких питань, як і надані відповіді, є кращим джерелом інформації, ніж "речі, знайдені в Google", наприклад, повідомлення в блозі.
RozzA

2

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

Щоб використовувати його, просто додайте {niceuserinfo:usergroup}та підтримуйте таку інформацію:

  • ідентифікатор користувача
  • Повне ім'я
  • Ім'я користувача
  • Електронна адреса
  • Назва групи
  • Ідентифікатори групи
  • Дата Реєстрації
  • Дата останнього відвідування
  • IP-адреса відвідувача
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.