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 🙂
Dafür liefert Typo3 das FrontendUserRepository.
Hier ist ein ganz gutes Beispiel: http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/fluid-fe-users.html
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):
<?php
namespace Somewhere\InAliceWonderland\Controller;
/**
* InAliceWonderlandController
*/
class InAliceWonderlandController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
/**
*
*/
public function someAction(){
...
}
}?>
Leider Funktioniert nicht:
/**
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
* @inject
*/
protected $userRepository;
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.
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
$feUserGroupRepository = $this->objectManager->get('\TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository');
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?
Bild: i.imgur.com/itvkbts.jpg