Typo3 6.0.0 Extension Builder erweitern von extbase Klassen

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    12. 12. 2012, 14:36

    Hi,

    ich habe gerade angefangen meine erste Extension mit der neusten Typo3 Version zu bauen.
    Und stoße schon direkt am Anfang auf ein Problem zu dem ich absolut keine Lösung finde.

    Und zwar will ich ein Model anlegen, das die Frontend User erweitert. Normalerweise kein Problem, einfach die "Tx_Extbase_Domain_Model_FrontendUser" Klasse unter "Extend existing model class" angeben.

    Nun wurde die ja bei 6.0.0 umgenannt, wenn ich jetzt aber "TYPO3\CMS\Extbase\Domain\Model\FrontendUser" im Extension Builder eintrage bekomme ich als Fehlermeldung "Extension could not be saved: Table definitions for table typo3\cms\extbase\domain\model\frontenduser could not be loaded". (Klar so eine Tabelle kann es ja auch nicht geben ...)

    Habe ich irgendwas übersehen, oder kann das der aktuelle Extension Builder das (noch) nicht?

    EDIT: Ich habe es jetzt per Hand gemacht. Falls jemand vor dem selben Problem steht, hier die Schritte die ich gegangen bin: (Bisher scheint es so zu funktionieren, allerdings mehr wie einen kleinen Test habe ich noch nicht gemacht)

    Im Extension Builder habe ich das Model ganz normal angelegt und ihm gesagt er solle die Tabelle [i]fe_users[/i] erweitern, damit er mir das SQL schreibt (und keine eigene Tabelle dafür anlegt)

    Gleichzeitig habe ich ihm noch verboten in die [i]ext_typoscript_setup.txt[/i] zu schreiben. (Der Extension Builder denkt ja wir würden die fe_users direkt erweitern)
    Dazu in der settings.yaml " ext_typoscript_setup.txt: keep" eintragen.

    in die "ext_typoscript_setup.txt" kommt jetzt mein eigener typoscript code

    1. config.tx_extbase{
    2. persistence{
    3. classes{
    4.  
    5. TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
    6. subclasses {
    7. Tx_MyExtension_Member = TYPO3\MyExtension\Domain\Model\Member
    8.  
    9. }
    10. }
    11.  
    12. TYPO3\MyExtension\Domain\Model\Member {
    13. mapping {
    14. tableName = fe_users
    15. }
    16. }
    17. }
    18. }
    19. }

    Jetzt nur noch in der Model Klasse die Elternklasse von "\TYPO3\CMS\Extbase\DomainObject\AbstractEntity" auf "\TYPO3\CMS\Extbase\Domain\Model\FrontendUser" ändern.

    Das selbe noch beim Repository, und alles sollte funktionieren.


  • maikusch maikusch
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    02. 04. 2013, 23:10

    Moin,

    ich hab jetzt alles mögliche aus diesem Thread probiert, aber ich komme nicht zum gewünschten Ergebnis. Ich möchte mir einfach alle User aus der fe_users im Frontend anzeigen lassen. Ich vermute das es am recordtype liegt. Könntet ihr mal genau sagen wo man den Recordtype einstellt und wie er wirklich heißen muss wenn man die fe_users auslesen möchte?

    Danke schon mal sagt der maik...

    http://www.hagenbru.ch

  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    27. 08. 2013, 14:23

    Hallo maikusch,

    sehe grad erst deine Frage vom April.
    Falls diese Frage immer noch besteht, den Recordtype des Users musst du im Backend einstellen.
    Dort wo du den Datensatz des Users anlegst und bearbeitest, gehst du auf den Reiter "Erweitert" (Extended) und wählst für den Datensatztyp (Recordtype) den Tx_Extbase_Domain_Model_FrontendUser - eine andere Möglichkeit wirst du wahrscheinlich gar nicht zur Auswahl haben.