Felix
Felix

Reputation: 5629

Get List of TYPO3 FE_User Group

How can I get a list with all my frontenduser groups?

I've tried this:

/**
 * feUserGroupRepository
 *
 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository
 * @inject
 */
protected $feUserGroupRepository = NULL;`

and then this:

$usergroups = $this->feUserGroupRepository->findAll();

I got this error: Call to a member function findAll() on a non-object

And I tried this way:

/**
 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository $feUserGroupRepository
 */
  $feUserGroupRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserGroupRepository');
  $allUsers = $feUserGroupRepository->findAll();`

dosn't work at all i've got this error message

PHP Catchable fatal error: Argument 1 passed to

TYPO3\CMS\Extbase\Persistence\Repository::__construct() must implement interface
TYPO3\CMS\Extbase\Object\ObjectManagerInterface, none given, called in
C:\xampp\htdocs\typo3\typo3\sysext\core\Classes\Utility\GeneralUtility.php on 
line 4431 and
defined in C:\xampp\htdocs\typo3\typo3\sysext\extbase\Classes\Persistence\Repository.php

How can I get a list with all feusergroups?

Rcord Type? enter image description here

Upvotes: 0

Views: 2143

Answers (1)

lorenz
lorenz

Reputation: 4558

The error indicates that the Dependency Injection didn't work. Please make sure that you flush the System Cache after doing changes that are cached in the Database, which is the case for changes of class names or changes that require dependencies to be rebuilt.

You can flush the system cache in the Install Tool ("Important actions") or directly in the Backend if you are running TYPO3 in Development context. "Flush general caches" does not (!) flush the database-based system caches.

Depending on the TYPO3 version you're running, you will need to set the Record Type of your Frontend Usergroups (column "tx_extbase_type") to FrontendUserGroup.

Using makeInstance for generating an instance of a Repository is discouraged. You should use dependency injection where possible (in this case it is), or, where not possible, the ObjectManager.

Upvotes: 1

Related Questions