Jak wyświetlić informacje o profilu użytkownika?

12

Chcę utworzyć niestandardową stronę profilu, w której będą wyświetlane tylko dane użytkownika, który zalogował się na mojej stronie. Muszę wyświetlić

  • Nazwa Użytkownika
  • Nazwa
  • zarejestrowany email

Czy możliwe jest również tworzenie niestandardowych pól, ale nie w formularzu rejestracyjnym, tylko po zalogowaniu się powinni móc edytować swoją stronę profilu.

saibbyweb
źródło

Odpowiedzi:

24

Joomla: Uzyskiwanie dostępu do informacji o użytkowniku - obiekt użytkownika

Aby uzyskać informacje o użytkowniku dla bieżącego użytkownika:

$user = JFactory::getUser();

Zwróci obiekt użytkownika .
Oto niektóre z najczęstszych właściwości obiektu użytkownika:

  • ID ($user->id)
  • Nazwa ($user->name)
  • nazwa użytkownika ( $user->username)
  • grupy ( $user->groups)
  • email ( $user->email).

Możesz sprawdzić, czy użytkownik jest zalogowany za pomocą:

$user->guest; 

Możesz sprawdzić uprawnienia dostępu użytkownika za pomocą metody autoryzacji , np .:

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


Profile użytkowników

W przypadku dodatkowych pól niestandardowych zależy to od tego, co próbujesz osiągnąć. Istnieje podstawowa wtyczka Joomla „Profil użytkownika”, która zawiera wiele niestandardowych pól profilu i którą można dalej dostosowywać.


Aktualizacja: Dostęp do danych profilu użytkownika

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

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

Z drugiej strony istnieją inne rozszerzenia innych firm, takie jak Community Builder, JomSocial, Easy Social, które umożliwiają tworzenie witryny społeczności użytkowników, w której można mieć użytkowników z rozszerzonymi informacjami o profilu. Jeśli nie musisz budować społeczności, istnieją inne rozszerzenia, które albo zastępują / rozszerzają główny komponent com_user, albo działają w połączeniu z nim i dają dodatkową kontrolę nad zarządzaniem użytkownikami.

Ale jak powiedziano, zależy to od tego, co chcesz zrobić. Na przykład, jeśli planujesz zbudować forum, rozszerzenia forum mają dodatkowe pola profilu.

Oczywiście zawsze są bardziej zaawansowane rozwiązania, takie jak budowanie własnego komponentu lub aplikacji.


Spinki do mankietów

FFrewin
źródło
2
Są tu również instrukcje docs.joomla.org/Creating_a_profile_plugin na temat dostosowywania wtyczki profilu również dla innych pól
George Wilson
Pamiętaj tylko, aby zaktualizować zapytania do bazy danych, ponieważ podany powyżej link używa starych standardów kodowania: docs.joomla.org/Selecting_data_using_JDatabase
Lodder
Czy wiesz, jak uzyskać informacje o profilu?
cha
tak, sprawdź zaktualizowaną odpowiedź
FFrewin
7

@Lodder jest poprawny. Jeśli chcesz tylko kilka podstawowych pól, możesz użyć wtyczki Joomla User Profile, która jest dostarczana z samą Joomla.

Jeśli chcesz utworzyć niestandardowe pola, dostępne są różne opcje, takie jak: Community Builder, JomSocial, EasySocial i inne rozwiązania sieciowe socila. Ale jeśli nie chcesz pełnego rozwiązania dla społeczności, możesz poszukać rozszerzenia zbudowanego wyłącznie do profilowania użytkowników. Profil Joom może być dla Ciebie opcją.

Girish
źródło
Bezpłatna lub płatna wersja Easy Profile to kolejna dobra opcja: extensions.joomla.org/extensions/extension/...
Neil Robertson
5

Powinieneś naprawdę zrobić trochę badań, zanim zadasz takie pytanie. 2 sekundy w Google i będziesz mieć wszystkie potrzebne informacje.

Istnieje wtyczka profilu użytkownika dostarczana z Joomla. W backend Joomla przejdź do

Rozszerzenia (górne menu) >> Menedżer wtyczek >> Profil użytkownika .

Zobaczysz następujące pola niestandardowe:

  • Adres 1
  • adres 2
  • Region miejski
  • Kraj
  • Kod pocztowy
  • Telefon
  • Stronie internetowej
  • Ulubiona książka
  • O mnie
  • Data urodzenia

Możesz wybrać, które chcesz na stronie rejestracji i profilu. Jeśli te pola nie są tymi, których szukasz, możesz spojrzeć na Community Builder . To rozszerzenie pozwala dodawać własne pola niestandardowe i integruje się z innymi rozszerzeniami.

Lodder
źródło
3
Twoje pierwsze zdanie jest dla mnie zabawne, ponieważ jest to dla mnie pierwszy wynik w Google. Chociaż odrobina zbędnych informacji nikomu nie zaszkodzi.
Ben Fleming
2
cała kwestia takich pytań i udzielone odpowiedzi są lepszym źródłem informacji niż „rzeczy znalezione w google”, np. posty na blogu.
RozzA
2

Oprócz powyższych odpowiedzi warto przyjrzeć się wtyczce o nazwie Nice User Info . Może wyświetlać pewne informacje o użytkowniku, gdy użytkownik jest zalogowany. Dostępna jest również darmowa wersja, ale z ograniczoną funkcjonalnością.

Aby z niego skorzystać, wystarczy dodać {niceuserinfo:usergroup}i obsługuje następujące informacje:

  • Identyfikator użytkownika
  • Pełne imię i nazwisko
  • Nazwa Użytkownika
  • Adres e-mail
  • Nazwy grup
  • ID grupy
  • Data rejestracji
  • Data ostatniej wizyty
  • Adres IP gościa
Bogowoe
źródło