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.
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.