[TYPO3-german] Probleme mit mapping Typo3 6.1

Jan Leifert jan at leifert.net
Fri Jan 24 12:09:23 CET 2014


Hallo Johannes,
vielen Dank für deine Bemühungen. Dann muss ich weiter suchen. Als
zweite Variante hatte ich das genau so gebaut. Er will aber trotzdem nicht.

Irgendwo muss noch ein weiterer Fehler bei mir sein. Da mein Code in
Summe aber grade mal 40 Zeilen hat hab ich langsam keine Idee mehr wo
ich gucken kann.

Hab das im TypoScript-Object browser kontrolliert. Das ist genau wie
dort beschrieben hinterlegt. Aber er fragt trotzdem die falsche Tabelle ab.

Ich such auch erst 3 Stunden und hab im Netz schon ziemlich alles
gelesen was es dazu gibt.

Grüße,
Jan

Am 24.01.14 12:01, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
> Hallo Jan
>
> Ich kann Dir leider - einfach aus purer Unkenntnis - nicht sagen "warum".
> Ich kann Dir nur sagen "wie", ist auch hier beschrieben:
>
> http://t3-developer.com/extbase-fluid/cheats-extbase/model/verwendung-der-fe
> -users-in-extbase/
>
> Johannes
>
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org
> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Jan Leifert
> Gesendet: Freitag, 24. Januar 2014 11:59
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Probleme mit mapping Typo3 6.1
>
> Eine Sache verstehe ich aber nicht.
>
> Warum schreibst du:
>
>  * @var Tx_LfrtChat_Domain_Model_User
>
>
> was ist an dieser Variante falsch:
>
>  * @var Tx_Extbase_Domain_Model_FrontendUser
>
> ?
>
> Ich brauche keine eigenen Felder, ich will nur den Benutzernamen haben.
> Also brauche ich doch kein eigenes Model und müsste mit dem Model was bei
> Extbase dabei ist auskommen?
>
>
> Am 24.01.14 11:55, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>> Und nochmal schreibe ich, wie es geht:
>>
>> class Tx_LfrtChat_Domain_Model_Guests extends 
>> Tx_Extbase_DomainObject_AbstractEntity {
>>         /**
>>         * The user of this assignment.
>>         * @var Tx_LfrtChat_Domain_Model_User
>>         * @lazy
>>         */
>>         protected $user;      
>>     
>>           /**
>>           *
>>           * Sets the user.
>>           * @param Tx_LfrtChat_Domain_Model_User $user The user
>>           * @return void
>>           *
>>           */
>>           public function setUser(Tx_LfrtChat_Domain_Model_User
>> $user) { $this->user = $user; }
>>   }
>>
>> Und im setup.txt
>>
>> config.tx_extbase {
>>     persistence{
>>         classes {
>>             Tx_LfrtChat_Domain_Model_User{
>>                 mapping{
>>                     tableName = fe_users
>>                 }
>>             }
>>         }
>>     }
>> }
>>
>>
>> Jetzt weiß Extbase beim Aufbauen des "Guest"-Models, daß es beim Model
> User
>> auf das FrontEndUser-Model zugreifen muß.
>>
>> Johannes
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org
>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Jan 
>> Leifert
>> Gesendet: Freitag, 24. Januar 2014 11:49
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Probleme mit mapping Typo3 6.1
>>
>> Um noch mal klarer zu machen was ich will.
>>
>> Ich habe eine klasse:
>>
>> class Tx_LfrtChat_Domain_Model_Guests extends 
>> Tx_Extbase_DomainObject_AbstractEntity {
>>         /**
>>         * The user of this assignment.
>>         * @var Tx_Extbase_Domain_Model_FrontendUser
>>         * @lazy
>>         */
>>         protected $user;      
>>     
>>           /**
>>           *
>>           * Sets the user.
>>           * @param Tx_Extbase_Domain_Model_FrontendUser $user The user
>>           * @return void
>>           *
>>           */
>>
>>           public function setUser(Tx_Extbase_Domain_Model_FrontendUser
>> $user) { $this->user = $user; }
>>   }
>>
>>
>>
>> In dieser Klasse will ich den aktuell eingellogten FrontendUser 
>> speichern und zwar so:
>>
>>             $cur_guest=new Tx_LfrtChat_Domain_Model_Guests();
>>           
>>
> $cur_guest->setUser($this->userRepository->findByUid($GLOBALS['TSFE']->fe_us
>> er->user['uid']));
>>
>>
>> So wie ich das sehe brauche ich doch keine eigene Klasse. Ich nehem
> einfach
>> Tx_Extbase_Domain_Model_FrontendUser.
>> Extbase bringt das nötige TS auch mit.
>> Trtzdem fragt er bei findByUid die falsche Tabelle ab.
>>
>>
>>
>> Am 24.01.14 11:41, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>>> Hallo Jan
>>>
>>> Du mußt das genau so machen.
>>>
>>> In deinem übergeordneten Model muß stehen
>>>
>>> /**
>>> * the address and more
>>> * @var Tx_DeinExtensionName_Domain_Model_DeinModelName
>>> */
>>> protected $deinmodelname;
>>>
>>> und im TS der Extension:
>>>
>>> config.tx_extbase {
>>>       persistence{
>>>           classes {
>>>               Tx_DeineExtension_Domain_Model_DeinModelName{
>>>     mapping{
>>>         tableName = fe_users
>>>     }
>>>     }
>>>      }
>>> }
>>>
>>> Mehrmals so verwendet - funktioniert. Glaub mir.
>>>
>>> Johannes
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: typo3-german-bounces at lists.typo3.org
>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Jan 
>>> Leifert
>>> Gesendet: Freitag, 24. Januar 2014 11:30
>>> An: German TYPO3 Userlist
>>> Betreff: Re: [TYPO3-german] Probleme mit mapping Typo3 6.1
>>>
>>> Hallo Johannes,
>>> ich hab aber gar keine eigene Klasse. Ich will ja die 
>>> Tx_Extbase_Domain_Repository_FrontendUser benutzen.
>>> so wie ich das versteh bräuchte ich gar kein TS, weil für die Nutzung 
>>> der extbase klasse ist das TS ja vorhanden.
>>> Es wird aber ignoriert.
>>>
>>> Ich hab auch schon mit dem TS-Browser geschaut, die definition ist 
>>> aus der extbase extension da.
>>>
>>>
>>> Am 24.01.14 11:27, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>>>> Hallo Jan
>>>>
>>>> Sorry, mein Mailprogramm hat gerade gezickt.
>>>>
>>>> Es muß bei Dir richtig heißen:
>>>>
>>>> config.tx_extbase {
>>>>      persistence{
>>>>          classes {
>>>>              Tx_DeineExtension_Domain_Model_DeinModelName{
>>>> ...
>>>>
>>>> Und NICHT:
>>>>
>>>> config.tx_extbase {
>>>>      persistence{
>>>>          classes {
>>>>              Tx_Extbase_Domain_Repository_FrontendUser {
>>>>
>>>>
>>>> Viele Grüße
>>>> Johannes
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: typo3-german-bounces at lists.typo3.org
>>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Jan 
>>>> Leifert
>>>> Gesendet: Freitag, 24. Januar 2014 11:17
>>>> An: German TYPO3 Userlist
>>>> Betreff: Re: [TYPO3-german] Probleme mit mapping Typo3 6.1
>>>>
>>>> Hallo Johannes,
>>>>
>>>> Ich hab ja keine eigene Klasse. Ich will die Klasse verwenden die 
>>>> bei Extbase dabei ist.
>>>>
>>>> Aufgrund meiner Probleme habe ich es aber auch schon mit einer 
>>>> eigenen Klasse versucht.
>>>> Er fragt immer noch die falsche Datenbank ab.
>>>>
>>>> Am 24.01.14 11:07, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>>>>> Hallo jan
>>>>>
>>>>> Du mußt Dein TS ändern, indem Du Deine Klasse angibst und nicht die
>>>>> Extbase-Klasse:
>>>>>
>>>>> ich hab auch das hier versucht:
>>>>>
>>>>> config.tx_extbase {
>>>>>     persistence{
>>>>>         classes {
>>>>>             Tx_DeineExtension_Domain_Model_DeinModelName{
>>>>>     # oder
>>>>> \DeinVendorName\DeinExtensionname\Domain\Model\DeinModelName
>>>>> {
>>>>>               mapping {
>>>>>                     tableName = fe_users
>>>>>                     columns {
>>>>>                         lockToDomain.mapOnProperty = lockToDomain
>>>>>                     }
>>>>>             }
>>>>>     }
>>>>> }
>>>>>
>>>>>
>>>>> Grüße
>>>>> Johannes
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: typo3-german-bounces at lists.typo3.org
>>>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Jan 
>>>>> Leifert
>>>>> Gesendet: Freitag, 24. Januar 2014 10:41
>>>>> An: German TYPO3 Userlist
>>>>> Betreff: Re: [TYPO3-german] Probleme mit mapping Typo3 6.1
>>>>>
>>>>> Der Inhalt davon steht aber in der fe_user.
>>>>>
>>>>> Und dafür hat extbase von haus aus ein Mapping dabei:
>>>>> config.tx_extbase {
>>>>>     persistence{
>>>>>         classes {
>>>>>                TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
>>>>>                 mapping {
>>>>>                     tableName = fe_users
>>>>>                     columns {
>>>>>                         lockToDomain.mapOnProperty = lockToDomain
>>>>>                     }
>>>>>                 }
>>>>>             }
>>>>>     }
>>>>> }
>>>>>
>>>>>
>>>>> ich hab auch das hier versucht:
>>>>>
>>>>> config.tx_extbase {
>>>>>     persistence{
>>>>>         classes {
>>>>>             Tx_Extbase_Domain_Repository_FrontendUser {
>>>>>               mapping {
>>>>>                     tableName = fe_users
>>>>>                     columns {
>>>>>                         lockToDomain.mapOnProperty = lockToDomain
>>>>>                     }
>>>>>             }
>>>>>     }
>>>>> }
>>>>>
>>>>> Beides sollte so wie ich das verstehe dafür sorgen das er beim 
>>>>> laden von Tx_Extbase_Domain_Repository_FrontendUser die Tabelle 
>>>>> fe_users
>> nimmt.
>>>>>
>>>>> Am 24.01.14 10:24, schrieb Eddy Wolbert:
>>>>>> Hallo Jan,
>>>>>>
>>>>>> vielleicht verstehe ich es auch falsch, aber Dein userRepository
>>>>> bezieht sich doch auf
>>> Tx_Extbase_Domain_Repository_FrontendUserRepository.
>>>>>> Womit er ja diese entsprechende Tabelle auch heranzieht. Er hat 
>>>>>> hier
>>>>> keine andere.
>>>>>> Viele Grüße
>>>>>> Eddy
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am 24.01.2014 10:15, schrieb Jan Leifert:
>>>>>> Hallo Eddy,
>>>>>> hab mich vielleicht missverständlich ausgedrückt, ich will als 
>>>>>> ersten Schritt nur eine FrontendUser-Objekt vom aktuell 
>>>>>> eingelogten
>>> User.
>>>>>> Eine Referenz auf das Objekt will ich dann später in meiner 
>>>>>> eigenen Tabelle speichern. Aber schon nur dieser aufruf:
>>>>>>
>>>>>> $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid'
>>>>>> ])
>>>>>>
>>>>>> fragt die falsche Tabelle ab.
>>>>>> Also meine eigene Tabelle ist an der Stelle noch gar nicht involviert.
>>>>>>
>>>>>> Grüße,
>>>>>> Jan
>>>>>>
>>>>>> Am 24.01.14 10:11, schrieb Eddy Wolbert:
>>>>>>>>> Hallo Jan,
>>>>>>>>>
>>>>>>>>> so wie es aussieht, übergibst Du hier ja auch die
>>>>>> tx_extbase_domain_model_frontenduser und nicht Deine eigene Tabelle.
>>>>>>>>> Viele Grüße
>>>>>>>>> Eddy
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Am 24.01.2014 06:27, schrieb Jan Leifert:
>>>>>>>>>> Hallo,
>>>>>>>>>> hat sich bei Typo3 6.1 irgendwas beim mapping von Klassen für 
>>>>>>>>>> Extbase geändert? Ich habe eine eigene Tabelle die eine 
>>>>>>>>>> Referenz auf die fe_users hat. Da ich die fe_users nicht 
>>>>>>>>>> verändern möchte habe ich es einfach so versucht:
>>>>>>>>>>
>>>>>>>>>>    /**
>>>>>>>>>>     * @var Tx_Extbase_Domain_Repository_FrontendUserRepository
>>>>>>>>>>     * @inject
>>>>>>>>>>     */
>>>>>>>>>>       protected $userRepository;
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>> $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid'
>>>>> ])
>>>>>>>>>> Extbase bringt ja eigentlich eigenes Typoscript für das 
>>>>>>>>>> Mapping
>>>>> mit. Ich
>>>>>>>>>> wäre davon ausgegangen das es so funktioniert, trotzdem fragt 
>>>>>>>>>> er eine tx_extbase_domain_model_frontenduser Table in der
>> Datenbank ab.
>>>>>>>>>> Habe dann viele Varianten im Typoscript probiert:
>>>>>>>>>>
>>>>>>>>>> plugin.tx_myext.persistence{
>>>>>>>>>>     storagePid=2
>>>>>>>>>>       classes{
>>>>>>>>>>         Tx_Extbase_Domain_Model_FrontendUser{
>>>>>>>>>>           mapping{
>>>>>>>>>>             tableName=fe_users
>>>>>>>>>>          }
>>>>>>>>>>         }
>>>>>>>>>>      }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> oder so:
>>>>>>>>>>
>>>>>>>>>> plugin.tx_myext.persistence{
>>>>>>>>>>     storagePid=2
>>>>>>>>>>       classes{
>>>>>>>>>>         TYPO3\CMS\Extbase\Domain\Model\FrontendUser{
>>>>>>>>>>           mapping{
>>>>>>>>>>             tableName=fe_users
>>>>>>>>>>          }
>>>>>>>>>>         }
>>>>>>>>>>      }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> Beides funktioniert nicht. Auch nicht wenn ich in 
>>>>>>>>>> config.extbase irgendwas für das mapping einstelle. Bei jeder 
>>>>>>>>>> Änderung habe ich
>>>>> vor dem
>>>>>>>>>> testen den Cache gelöscht. Ganz egal was ich mache er fragt 
>>>>>>>>>> die
>>>>> falsche
>>>>>>>>>> Tabelle ab.
>>>>>>>>>> Wenn ich google finde ich ziemlich nur Lösungen die sich auf
>>>>> Typo3 <6.0
>>>>>>>>>> beziehen.
>>>>>>>>>>
>>>>>>>>>> Habe mir als Beispiel auch blog_example, pw_comments und news
>>>>> angesehen.
>>>>>>>>>> Finde keinen Hinweis was die anders machen.
>>>>>>>>>>
>>>>>>>>>> Den Recordtype der User habe ich auch schon auf verschiedene 
>>>>>>>>>> Werte
>>>>>> gesetzt.
>>>>>>>>>> Hat da jemand ne Lösung für mich?
>>>>>>>>>>
>>>>>>>>>> Dank und Gruss,
>>>>>>>>>> Jan
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> TYPO3-german mailing list
>>>>>>>>>> TYPO3-german at lists.typo3.org
>>>>>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> TYPO3-german mailing list
>>>>>>>>> TYPO3-german at lists.typo3.org
>>>>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>>> _______________________________________________
>>>>>>> TYPO3-german mailing list
>>>>>>> TYPO3-german at lists.typo3.org
>>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>>>
>>>>>> _______________________________________________
>>>>>> TYPO3-german mailing list
>>>>>> TYPO3-german at lists.typo3.org
>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list