[TYPO3-german] Probleme mit mapping Typo3 6.1

Johannes C. Schulz - EnzephaloN IT-Solutions info at enzephalon.de
Fri Jan 24 11:55:24 CET 2014


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




More information about the TYPO3-german mailing list