Wie werden Benutzerprofilinformationen angezeigt?

12

Ich möchte eine benutzerdefinierte Profilseite erstellen, auf der nur die Details des Benutzers angezeigt werden, der sich auf meiner Website angemeldet hat. Ich muss anzeigen

  • Nutzername
  • Name
  • Registrierte Email

Ist es auch möglich , benutzerdefinierte Felder zu erstellen, aber nicht im Registrierungsformular, nur wenn sie sich anmelden, sollten sie in der Lage sein, ihre Profilseite zu bearbeiten.

saibbyweb
quelle

Antworten:

24

Joomla: Zugriff auf Benutzerinformationen - Das Benutzerobjekt

So rufen Sie Benutzerinformationen für den aktuellen Benutzer ab:

$user = JFactory::getUser();

Es wird das Benutzerobjekt zurückgegeben .
Hier einige der häufigsten Eigenschaften von Benutzerobjekten:

  • Ich würde ($user->id)
  • Name ($user->name)
  • Benutzername ( $user->username)
  • Gruppen ( $user->groups)
  • email ( $user->email).

Sie können überprüfen, ob der Benutzer angemeldet ist mit:

$user->guest; 

Sie können mit der authorize- Methode nach den Zugriffsrechten des Benutzers suchen, zB:

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


Benutzerprofil

Für zusätzliche benutzerdefinierte Felder hängt dies davon ab, was Sie erreichen möchten. Es gibt ein Joomla-Kern-Plugin "Benutzerprofil", das viele benutzerdefinierte Profilfelder enthält und das Sie weiter anpassen können.


Update: Zugriff auf die Benutzerprofildaten

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

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

Andererseits gibt es andere Erweiterungen von Drittanbietern wie Community Builder, JomSocial und Easy Social, mit denen Sie eine Benutzer-Community-Site erstellen können, auf der Sie Benutzer mit erweiterten Profilinformationen haben können. Wenn Sie keine Community erstellen müssen, gibt es andere Erweiterungen, die entweder die Kernkomponente com_user überschreiben / erweitern oder in Verbindung damit arbeiten und Ihnen zusätzliche Kontrolle über die Benutzerverwaltung geben.

Aber wie gesagt, es hängt davon ab, was Sie tun möchten. Wenn Sie beispielsweise nur ein Forum erstellen möchten, verfügen die Forumserweiterungen über zusätzliche Profilfelder.

Natürlich gibt es immer fortschrittlichere Lösungen wie das Erstellen eigener Komponenten oder Anwendungen.


Links

FFrewin
quelle
2
Unter docs.joomla.org/Creating_a_profile_plugin finden Sie auch Anweisungen zum Anpassen des Profil-Plugins für andere Felder
George Wilson,
Denken Sie daran, die Datenbankabfragen zu aktualisieren, da der oben angegebene Link alte Codierungsstandards verwendet: docs.joomla.org/Selecting_data_using_JDatabase
Lodder
Wissen Sie, wie Sie Profilinformationen abrufen können?
Cha
Ja, überprüfen Sie die aktualisierte Antwort
FFrewin
7

@Lodder ist korrekt. Wenn Sie nur einige grundlegende Felder benötigen, können Sie das Joomla User Profile-Plugin verwenden, das mit Joomla selbst geliefert wird.

Wenn Sie einige benutzerdefinierte Felder erstellen möchten, stehen verschiedene Optionen zur Verfügung, z. B. Community Builder, JomSocial, EasySocial und andere Social Networking-Lösungen. Wenn Sie jedoch nicht die vollständige Community-Lösung möchten, können Sie nach der Erweiterung suchen, die nur für die Benutzerprofilerstellung erstellt wurde. Joom Profile kann eine Option für Sie sein.

Girish
quelle
Die kostenlose oder kostenpflichtige Version von Easy Profile ist eine weitere gute Option: extensions.joomla.org/extensions/extension/…
Neil Robertson
5

Sie sollten wirklich etwas recherchieren, bevor Sie eine solche Frage stellen. 2 Sekunden bei Google und Sie hätten alle Informationen, die Sie benötigen.

Es gibt ein Benutzerprofil-Plugin, das mit Joomla geliefert wird. Gehen Sie im Joomla-Backend zu

Erweiterungen (oberes Menü) >> Plugin Manager >> Benutzerprofil .

Sie sehen die folgenden benutzerdefinierten Felder:

  • Adresse 1
  • Adresse 2
  • Stadt Region
  • Land
  • Postleitzahl
  • Telefon
  • Webseite
  • Lieblingsbuch
  • Über mich
  • Geburtsdatum

Auf der Registrierungs- und Profilseite können Sie auswählen, welche Sie möchten. Wenn Sie nicht nach diesen Feldern suchen, sollten Sie sich Community Builder ansehen . Mit dieser Erweiterung können Sie Ihre eigenen benutzerdefinierten Felder hinzufügen und sie in andere Erweiterungen integrieren.

Lodder
quelle
2
Ich finde Ihren ersten Satz lustig, da dies das erste Ergebnis bei Google für mich ist. Obwohl ein bisschen redundante Information niemanden verletzt.
Ben Fleming
1
Der ganze Sinn solcher Fragen und die gegebenen Antworten sind eine bessere Informationsquelle als "Dinge, die bei Google gefunden werden", z. B. Blog-Beiträge.
Rozza
2

Zusätzlich zu den obigen Antworten möchten Sie vielleicht ein Plugin namens Nice User Info ansehen . Es können einige Benutzerinformationen angezeigt werden, wenn ein Benutzer angemeldet ist. Eine kostenlose Version ist ebenfalls verfügbar, jedoch mit eingeschränkter Funktionalität.

Fügen Sie dazu einfach {niceuserinfo:usergroup}die folgenden Informationen hinzu und unterstützen Sie sie:

  • Benutzeridentifikation
  • Vollständiger Name
  • Nutzername
  • E-Mail-Addresse
  • Gruppenname (n)
  • Gruppen ID (s)
  • Registrierungsdatum
  • Datum des letzten Besuchs
  • IP-Adresse des Besuchers
Bogowoe
quelle