[Frage] FE User Daten in 6.2.x Extension nutzen/manipulieren? TYPO3-Version: 6.2.7

  • PeterWadson PeterWads...
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    26. 02. 2015, 09:54

    Hallo TYPO3 Community,

    wie komme ich in meiner eigenen Extension an die FE User von TYPO3?
    Gibt es dafür einen Controller, ein Interface oder ähnliches dafür?

    Oder muss ich mir dafür eine eigene Datenbank Verbindung für aufbauen?
    Ich brauche die Möglichkeit neue FE User anzulegen und bestehende zu bearbeiten und
    nach Möglichkeit sogar nur nach entsprechenden FE User Groups ...

    Ich hoffe ihr könnt mir helfen
    Danke :)

  • Hilfreichster Beitrag

  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    26. 02. 2015, 10:04 - Hilfreichster Beitrag

    Dafür liefert Typo3 das FrontendUserRepository.
    Hier ist ein ganz gutes Beispiel: http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/fluid-fe-users.html


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    26. 02. 2015, 10:04

    Dafür liefert Typo3 das FrontendUserRepository.
    Hier ist ein ganz gutes Beispiel: http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/fluid-fe-users.html

  • PeterWadson PeterWads...
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    26. 02. 2015, 10:42

    Ja das Repository hab ich auch schon ins Auge gefasst.
    Leider ist das Beispiel dort scheinbar nicht aktuell genug für Typo3/Extbase Version 6.2.9.

    Mein Controller ist derzeit so erstellt (mal abgesehen von den Namen):

    1. <?php
    2. namespace Somewhere\InAliceWonderland\Controller;
    3.  
    4. /**
    5.  * InAliceWonderlandController
    6.  */
    7. class InAliceWonderlandController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
    8.  
    9. /**
    10. *
    11. */
    12. public function someAction(){
    13. ...
    14. }
    15.  
    16. }?>

    Leider Funktioniert nicht:

    1. /**
    2.  * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
    3.  * @inject
    4.  */
    5. protected $userRepository;

  • PeterWadson PeterWads...
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    26. 02. 2015, 17:05

    Ich habe es gefunden. Man kann keine Objekte inject'en, die nicht in der Extension liegen.
    Dazu benötigt man den ObjectManager um eine Instanz des Objektes zu erzeugen.

    1. $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
    2. $feUserGroupRepository = $this->objectManager->get('\TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository');

  • PeterWadson PeterWads...
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    26. 02. 2015, 19:21

    So jetzt kommt eine weitere Herausforderung: das FrontendUserGroupRepository kann kein "findAll", was daran liegt, dass es es nicht weiß, wo in TYPO3 die Gruppen angelegt worden sind.

    Ich brauche also die PID der Seite/ des Ordners. Wie kann ich in meiner Extension den Dateibaum nutzen, so wie es beispielsweise TemplaVoila tut? Und wie komme ich dann an die gewählte PID?

    [img]http://i.imgur.com/itvkbts.jpg[/img]

  • 1