Joomla – Development – JFactory getUser liefert falsche Daten oder Null

Joomla CMS Version 3.2

Situation
Programmierung eigener Komponente. Im Code werden Userdaten, andere als der aktuell angemeldete user, abgefragt:

$username = ‘Maik’;
$user = JFactory::getUser( $username );
$user_id = $user->id;

Als Ergebnis soll die interne DB ID des Joomla Users ‘Maik’ in $user_id abgelegt werden.

Fehler – Statt der tatsächlichen ID, des vorhandenen User wird 0 (Null) gespeichert.

Lösung

Statt:
$user = JFactory::getUser( $username );

Dies verwenden:
$user = JUser::getInstance( $username );

Nun wird die tatsächliche DB ID des abgefragten Benutzers ‘Maik’ abgefragt und gespeichert. Der Rest im Programmcode bleibt gleich. Hintergrund ist vermutlich ein Fehler in der Joomla Library und der aktuellen Session. Da in der verwendeten Klasse JFactory sowieso JUser verwendet wird, rufe ich diese hier direkt auf.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.