---
title: "Typo3 6.0.0 Extension Builder erweitern von extbase Klassen"
url: "https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage","Frontend-Benutzer"]
created: "2012-12-12"
last_reply: "2013-08-27"
replies: 12
solved: false
page: 1
pages: 1
lang: "de"
---

# Typo3 6.0.0 Extension Builder erweitern von extbase Klassen

Extensions › Extbase · 12 Antworten · gestartet 2012-12-12

## Eröffnungsbeitrag

**karf** · 2012-12-12 · [Beitrag #1](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/1)

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 *fe_users* erweitern, damit er mir das SQL schreibt (und keine eigene Tabelle dafür anlegt)

Gleichzeitig habe ich ihm noch verboten in die *ext_typoscript_setup.txt* 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

```typoscript
config.tx_extbase{
    persistence{
        classes{

            TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
                subclasses {
                    Tx_MyExtension_Member = TYPO3\MyExtension\Domain\Model\Member
					
          		}
            }
            
            TYPO3\MyExtension\Domain\Model\Member {
                mapping {
                    tableName = fe_users
                }
            }
    	}
    }
}
```

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.

## Antworten

### [#2](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/2) · beo6 · 2013-01-12

Hallo und danke für den Tipp.

Leider bringt mich das ganze noch immer durcheinander.

Ich bekomme leider kein user-Objekt.

Ich bin dem folgenden Tutorial gefolgt und habe es an die gegebenheiten von Extbase 6.0 angepasst.
<http://tobias-seckinger.de/2012/09/frontend-benutzer-in-extbase-abfragen/>

Entsprechend habe ich meinen Controller mit folgendem erweitert:

```php
	/**
	 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
	 * @inject
	 */
	protected $frontendUserRepository;
```

Ich bekomme zwar mit

```php
$user=$GLOBALS['TSFE']->fe_user->user;
```

Ein Array mit dem aktuellen User, aber das frontendUser Repository scheint leer zu sein.

```php
$currentuser=$this->frontendUserRepository->findAll();
$this->view->assign('user', $currentuser);
```

gibt zumindest

```html
TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (empty)
```

bei <f:debug> zurück.

selbst wenn ich dem user verschiedenste Datensatztypen zuweise.

kann mir hier jemand helfen?

Schon einmal vielen Dank im vorraus.

### [#3](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/3) · beo6 · 2013-01-12

ok es funktioniert. :)

ich war natürlich so schlau und hatte beim testen findAll() verwendet.

aber anscheinend funktioniert das beim UserRepository nicht.

findByUid() funktioniert jedoch. Und das ist alles was ich brauche.

Trozdem danke.

### [#4](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/4) · karf · 2013-01-14

Die findAll() sollte ansich schon funktionieren.

Aber eventuell steht in dem Feld "tx_extbase_type" nicht der richtige Wert drin?

### [#5](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/5) · NJoyLife · 2013-01-17

>>Aber eventuell steht in dem Feld "tx_extbase_type" nicht der richtige Wert drin?
Wie lautet denn der richtige Wert?

Ich stehe vor dem gleichen Problem. Nur möchte ich tatsächlich eine Liste aller Fe_Users anzeigen.
Aber weder das funktioniert, noch die Anzeige eines einzelnen Datensatzes. Meine Vorgehensweise ist die gleiche wie bei beo6.

```php
/**
* feUserRepository
*
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
* @inject
*/
protected $feUserRepository;

(...)

$allFeUsers = $this->feUserRepository->findAll();
$this->view->assign('allFeUsers', $allFeUsers);
```

Habe im TypoScript noch folgenden Eintrag hinzugefügt:

```typoscript
config.tx_extbase.persistence.classes {
    Tx_Extbase_Domain_Model_FrontendUser {
        mapping.recordType >
    }
}
```

Debug gibt ein leeres Array aus - keine Fehlermeldung...

Viele Grüße
NJoyLife

### [#6](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/6) · mimaxx · 2013-01-17

Hallo zusammen,

hänge glaube ich am selben Problem. Habe eine Extension die unter 4.7 funktioniert und jetzt auf 6.0 nicht mehr. Folgender Fehler

**Table 'myfolder.tx_extbase_domain_model_frontenduser' doesn't exist**

Alter Stand bei 4.7
---------------------
- Im Extension Builder hatte ich eine Relation zur Class "Tx_Extbase_Domain_Model_FrontendUser" gesetzt

- im Domain Model und Repository die FrontendUser.php und FrontendUserRepository.php angelegt

mit
class Tx_MyExt_Domain_Model_FrontendUser extends Tx_Extbase_DomainObject_AbstractEntity { ...
bzw
class Tx_MyExt_Domain_Repository_FrontendUserRepository extends Tx_Extbase_Persistence_Repository { ...

- im Controller

```php
	/**
	 * userRepository
	 *
	 * @var Tx_Extbase_Domain_Repository_FrontendUserRepository
	 */
	protected $userRepository;

...

protected function initializeAction() {
  $this->userRepository =& t3lib_div::makeInstance('Tx_Extbase_Domain_Repository_FrontendUserRepository');
	}
```

- in der Configuration/TypoScript/setup.txt

```php
plugin.tx_myext.persistence.classes {
    Tx_MyExt_Domain_Model_FrontendUser {
        mapping {
            tableName = fe_users
            recordType = Tx_Extbase_Domain_Model_FrontendUser
        }
    }
}
```

Habe schon etwas rumprobiert mit dem neuen Namespace auch mal die original FrontendUser.php und FrontendUserRepository.php mit entsprechenden Änderung genommen aber nichts funktioniert was genau müsste ich ändern steige da noch nicht ganz durch ...

Gruß
mimaxx

### [#7](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/7) · beo6 · 2013-01-17

Hallo mimaxx,

soweit ich weiß ist t3lib_div::makeInstance()

in 6.0 nicht mehr erlaubt bzw. wurde sogar schon entfernt.

Falls du es noch drin hast nehme es raus.

ein

/**
* userRepository
*
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
* @inject
*/
protected $userRepository;

müsste reichen um es im ganzen Controller zu erreichen.

@NJoyLife

werde zuhause noch einmal durchschauen wo ich alles etwas geändert habe.
Wenn es immer leer ist kann es zumindest am nicht oder falsch gesetzten recordType liegen.

### [#8](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/8) · NJoyLife · 2013-01-19

Hi beo6

Danke für deine Rückmeldung. Konntest du schon nachschauen, auf was der Wert deines recordTypes gesetzt ist?

Danke für ein kurzes Update und viele Grüße
NJoyLife

### [#9](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/9) · NJoyLife · 2013-01-19

Ich möchte die FeUsers nicht erweitern, sondern nur darauf zugreifen. Dachte eigentlich, am logischsten wäre folgendes:

```php
config.tx_extbase{
    persistence{
        classes{
             {
                mapping {
                    tableName = fe_users
                    recordType = Tx_Extbase_Domain_Model_FrontendUser
                }
            }
            
    	}
    }
```

In der ext_typoscript_setup.txt

Aber das greift nicht. Nach wie vor: keine Fehlermeldung, einfach eine leere Ausgabe :-/

Die Frontend-User sind alle auf RecordType "Tx_Extbase_Domain_Model_FrontendUser" gesetzt...

Hat keiner ne Idee?

Gruß
NJoyLife

### [#10](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/10) · Sentor77 · 2013-03-14

Moin,
ich stand vor dem gleichen Problem.
In TYPO3 6 hat sich der Recorod Type geändert.
Folgenden Wert muss er jetzt haben:

```php
TYPO3\CMS\Extbase\Domain\Model\FrontendUser
```

Im Seiten TS der Rootseite habe ich folgenden Eintrag:

```typoscript
TCAdefaults.fe_users.tx_extbase_type = TYPO3\CMS\Extbase\Domain\Model\FrontendUser
TCAdefaults.fe_groups.tx_extbase_type = TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup
```

Damit wir jeder neue Eintrag in die fe_users automatisch mit dme Record Type belegt.

Hoffe konnte helfen.

LG

### [#11](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/11) · harald1972 · 2013-03-15

> Die Frontend-User sind alle auf RecordType "Tx_Extbase_Domain_Model_FrontendUser" gesetzt.

Das wollte ich auch gerade sagen ;)

Außerdem müssen diese user auch (irgend) einer user_group zugeordnet sein.

Wenn die Ext ein FE-PI und als solches auf einer Seite eingebunden ist, muss beim "Verhalten" von diesem PI der SysFolder dieser fe_user angegeben werden.

Alles andere (und mir bekannte) wurde hier schon gesagt.

### [#12](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/12) · maikusch · 2013-04-02

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...

### [#13](https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen/13) · harald1972 · 2013-08-27

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.

---

Quelle: „Typo3 6.0.0 Extension Builder erweitern von extbase Klassen“, typo3.net, https://www.typo3.net/d/113127-typo3-600-extension-builder-erweitern-von-extbase-klassen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
