Frontend-Benutzer in Extbase abfragen

Meiner Meinung nach ist das Abrufen eines Frontend-Benutzers innerhalb Extbase (Typo3 Version 4.7.4) etwas umständlich. Deshalb ist das hier kurz dokumentiert:

TypoScript

plugin.tx_blogexample 
  persistence {
    Tx_Extbase_Domain_Model_FrontendUser {
      mapping {
        tableName = fe_users
        recordType = Tx_Extbase_Domain_Model_FrontendUser
      }
    }
  }
}

Backend

Im Backend muß der Datensatztyp auf Tx_Extbase_Domain_Model_FrontendUser gesetzt werden, sonst wird kein Datensatz zurückgeliefert.

Einstellungen im Backend: fe_user

Einstellungen im Backend: fe_user

Controller

Im Controller erhalten wir das Repository über Dependency Injection:

 /**
  * @var Tx_Extbase_Domain_Repository_FrontendUserRepository
  * @inject
  */
 protected $frontendUserRepository;

Das Model erhalten wir anschließend durch eine einfache Abfrage:

$user=$GLOBALS['TSFE']->fe_user->user; 
$this->user=$this->frontendUserRepository->findByUid($user['uid']);

Vorher sollte man ggf. noch abfragen, ob wirklich ein Frontendbenutzer angemeldet ist.

Ein Gedanke zu “Frontend-Benutzer in Extbase abfragen

  1. Es scheint mir etwas umständlich, erst über das TSFE den Userdatensatz abzufragen, um sich dann damit den Userdatensatz des Extbase-Repositories zu holen. Hat Extbase da (mittlerweile) nichts, womit man direkt rankommt?

Kommentar verfassen