[Frage] Auf erweiterte Felder der fe_users aus eigener Extension zugreifen. [Gelöst]

  • HH HH
    Jedi-Meister
    0 x
    351 Beiträge
    0 Hilfreiche Beiträge
    26. 03. 2015, 19:15

    Hallo,
    ich habe eine Verständnisfrage,
    ich habe mithilfe des fe_managers, bzw mit einer Erweiterung des fe_managers die fe_users Tabelle um einige Felder erweitert.
    Jetzt möchte ich gerne aus einer eigenen Extension auf diese Felder zugreifen.
    Bei ein paar dieser erweiterten Felder handelt es sich dann wiederum um Verknüpfungen zu anderen Tabellen (anderer Extensions)
    Beim fe_manager klappt das alles wunderbar soweit.

    Jetzt möchte ich aus meiner neuen Extension auf diese erweiterten Felder zugreifen:
    [code]$myUser = $GLOBALS['TSFE']->fe_user->user;[/code]
    Damit bekomme ich alle Felder der fe_users.
    Leider kann ich in fluid nicht zb. auf {users.hobby.name} auf die Tabelle hobby (andere Extension) zugreifen. Was funktinoiert ist {users.hobby} dann bekomme ich eine uid.

    Benutze ich [code]$this->userRepository->findByUid($myuid));[/code]
    bekomme ich nur die fe_users Standardfelder.

    Jetzt hab ich schon was gelesen dass man die fe_users im typoscript mappen muss.
    Ganz klar ist mir allerdings nicht, was genau ich mappen muss, bzw. was alles.

    Ich möchte auf die erweiterten Felder der fe_users einschließlich der Relations auf andere Tabellen zugreifen.
    Wie geht das?
    DANKE!

  • HH HH
    Jedi-Meister
    0 x
    351 Beiträge
    0 Hilfreiche Beiträge
    28. 03. 2015, 18:11 - Lösung

    Erst mal Danke für die Antwort,

    ich glaube ich habe mich umständlich ausgedrückt, aber ich habs hinbekommen.
    Funktioniert recht einfach.

    Ich habe mit einer Testext1 den femanager erweitert, der wiederum erweitert mir ja die fe_users.

    Mein Problem war dass ich nicht auf die erweiterten Felder der fe_users zugreifen konnte.

    So funktioniert:

    1. /**
    2.   * userRepository
    3.   *
    4.   * @var \In2\Femanager\Domain\Repository\UserRepository
    5.   * @inject
    6.   */
    7. protected $userRepository;

    Statt dem üblichen @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
    Der Femanager kennt die erweiterten Felder.
    Und dann einfach:
    1. $this->view->assign('user', $this->userRepository->findByUid($myuid));

    Eigentlich ganz logisch.....


  • 1
  • Schweriner Schwerine...
    Jedi-Ratsmitglied
    0 x
    554 Beiträge
    60 Hilfreiche Beiträge
    27. 03. 2015, 08:58

    Du wirst mit einem eigenen Model das Model FrontendUser erweitern müssen und dein eigenes Model dann auf die Tabelle fe_users mappen per Typoscript. In dem neuen Model musst Du die Getter/Setter hinzufügen sowie ein entsprechendes Repository.

  • HH HH
    Jedi-Meister
    0 x
    351 Beiträge
    0 Hilfreiche Beiträge
    28. 03. 2015, 18:11

    Erst mal Danke für die Antwort,

    ich glaube ich habe mich umständlich ausgedrückt, aber ich habs hinbekommen.
    Funktioniert recht einfach.

    Ich habe mit einer Testext1 den femanager erweitert, der wiederum erweitert mir ja die fe_users.

    Mein Problem war dass ich nicht auf die erweiterten Felder der fe_users zugreifen konnte.

    So funktioniert:

    1. /**
    2.   * userRepository
    3.   *
    4.   * @var \In2\Femanager\Domain\Repository\UserRepository
    5.   * @inject
    6.   */
    7. protected $userRepository;

    Statt dem üblichen @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
    Der Femanager kennt die erweiterten Felder.
    Und dann einfach:
    1. $this->view->assign('user', $this->userRepository->findByUid($myuid));

    Eigentlich ganz logisch.....

  • 1