Ich möchte in einem Seiten-Template den Benutzernamen ermitteln, wenn dieser im Backend angemeldet ist.
Wenn ich es so versuche:
$user=rex::getUser()->getName();
bekomme ich die Fehlermeldung "Call to a member function getName() on null".
Warum liefert rex::getUser() ein leeres Objekt?
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- runstop64
- Beiträge: 369
- Registriert: 23. Okt 2012, 21:34
- Wohnort: Hamburg
- Kontaktdaten: Website Facebook Twitter
Re: getUser()
Hi,
das User-Objekt existiert nur, wenn ein User tatsächlich eingeloggt ist. Vor der Abfrage des Namens musst du daher prüfen, ob ein User-Objekt zurückgegeben wurde. Am einfachsten sollte das mit gehen.
das User-Objekt existiert nur, wenn ein User tatsächlich eingeloggt ist. Vor der Abfrage des Namens musst du daher prüfen, ob ein User-Objekt zurückgegeben wurde. Am einfachsten sollte das mit
Code: Alles auswählen
if (rex::getUser()) { ... }
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: getUser()
Es ist noch zu beachten, dass im Frontend rex::getUser() nicht automatisch befüllt wird, sondern erst, wenn es zum ersten Mal explizit angefordert wurde.
Es kann sein, dass man ein Addon installiert hat, welches das immer macht, und daher rex::getUser() auch im Frontend immer funktioniert, man sollte sich darauf aber nicht verlassen.
Für's Frontend ist der Check daher so richtig:
Es kann sein, dass man ein Addon installiert hat, welches das immer macht, und daher rex::getUser() auch im Frontend immer funktioniert, man sollte sich darauf aber nicht verlassen.
Für's Frontend ist der Check daher so richtig:
Code: Alles auswählen
if (rex_backend_login::createUser()) {
$user = rex::getUser()->getName();
}
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
- runstop64
- Beiträge: 369
- Registriert: 23. Okt 2012, 21:34
- Wohnort: Hamburg
- Kontaktdaten: Website Facebook Twitter
Re: getUser()
Uh, wichtiger Hinweis. Ich habe es gleich mal in die Doku übernommen. -> https://github.com/redaxo/docs/blob/mas ... chaften.md
Re: getUser()
Code: Alles auswählen
if (rex_backend_login::createUser()) { $user = rex::getUser()->getName(); }
Code: Alles auswählen
if (rex_backend_login::createUser()) { $login = rex::getuser()->getValue("login"); }
Wolfgang Busch