Mapping auf fe_users in TSConfig wird nicht übernommen

  • NJoyLife NJoyLife
    R2-D2
    0 x
    83 Beiträge
    1 Hilfreiche Beiträge
    22. 01. 2013, 14:24

    Hallo zusammen

    Ich versuche mich schon seit längerem an einer Anbindung der fe_user-Tabelle an meine eigene Extension. Danke eines "Tricks" klappt diese nun auch. Ich frage mich aber, ob es nicht eine korrekte Lösung gibt, denn meine ist mehr als nur unschön...

    Und zwar lese ich alle verfügbaren FE-Users wie folgt aus:

    1. $allFeUsers = $this->feUserRepository->findAll();

    Das TS-Config der Extension (ext_typoscript_setup.php) hat folgenden Eintrag:

    1. config.tx_extbase{
    2. persistence{
    3. classes{
    4. {
    5. mapping {
    6. tableName = fe_users
    7. recordType = Tx_Extbase_Domain_Model_FrontendUser
    8. }
    9. }
    10.  
    11. }
    12. }
    13. }

    Ein SQL-Debug hat mir daraufhin die folgende Abfrage geliefert:

    1. SELECT fe_users.* FROM fe_users WHERE fe_users.uid IN ('0') AND (fe_users.tx_extbase_type='TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUser') AND fe_users.deleted=0 AND fe_users.disable=0 AND fe_users.starttime<=1358860620 AND (fe_users.endtime=0 OR fe_users.endtime>1358860620) LIMIT 1

    Dort sieht man, dass nach dem falschen RecordType gesucht wird, nach "TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUser" anstelle von Tx_Extbase_Domain_Model_FrontendUser. Nun habe ich im Backend gar keine Möglichkeit, den RecordType "TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUser" auszuwählen. Nur Tx_Extbase_Domain_Model_FrontendUser...

    Mein "Workaround" ist nun, den Default-Wert der Tabelle fe_users auf "TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUser" einzustellen. Also vollkommen unprofessionell, aber immerhin wirksam. Denn nun erscheinen die FE-Users.

    Kann mir irgendjemand einen Tipp geben, woher diese Default-Einstellung kommt, bzw. wie ich sie überschreiben kann?

    Vielen Dank im Voraus und viele Grüße
    NJoyLife


  • 1
  • eddy eddy
    Sternenflotten-Admiral
    0 x
    177 Beiträge
    0 Hilfreiche Beiträge
    31. 01. 2013, 17:18

    Hallo NJoyLife,

    mache hier auch schon eine Ewigkeit an dieser Problemstellung herum.
    Ich vermute mal, das das TypoScript nicht zieht und evtl. an anderer Stelle stehen muss. Ich habe es z.B. in EXT/Configuration/TypoScript/setup.txt gepackt.

    Es tut zwar soweit, das der FE-User gefunden und angezeigt wird. Merkwürdigerweise wird aber hier nur die uid und die pid des Userdatensatzes übergeben. An den Usernamen komme ich so nicht heran.

    Das SQL-debug gibt mir zwar:

    1. SELECT fe_users.* FROM fe_users ...

    aus, doch der komplette Userdatensatz will mir einfach nicht übergeben werden.

    Habe im Fluid-Template schon die verwegensten Kombinationen probiert, aber wenn das Objekt nur zum Teil übergeben wird, macht das natürlich keinen Sinn o.O

    Gibt es hierfür eine Erklärung?

    Eddy

  • 1