request->getArguments() est vide,Je suis un nouvel utilisateur de typo3, j'ai créé un plugin pour afficher les utilisateurs et utiliser la barre de recherche pour les filtrer, mais lorsque je veux afficher ma page j'obtiens cette erreur : (1/1) #1476107295TYPO3\CMS\Core\Error \ExceptionPHPWarning : Undefinedarraykey "word" inMyPath/Controller/UserlistController.phpline44 dans mon contrôleur">
Je suis un nouvel utilisateur de typo3, j'ai créé un plugin pour afficher les utilisateurs et utiliser la barre de recherche pour les filtrer, mais lorsque je veux afficher ma page, j'obtiens cette erreur :
(1/1) #1476107295 TYPO3CMSCoreErrorException PHP Warning: Undefined array key "word" in MyPath/Controller/UserlistController.php line 44
Dans mon contrôleur, j'essaie d'obtenir le paramètre pour l'utiliser dans mon filtre comme ceci :
public function listAction(int $currentPage = 1) { $arguments = $this->request->getArguments(); $users = $this->userlistRepository->findBySearch($arguments['word'] ? $arguments['word'] : ''); somecode ... }
J'ai essayé de vider $arguments mais c'était vide
Une partie de mon référentiel :
/** * @param string $word * @return object[]|TYPO3CMSExtbasePersistenceQueryResultInterface * @throws TYPO3CMSExtbasePersistenceExceptionInvalidQueryException */ public function findBySearch(string $word) { $query = $this->persistenceManager->createQueryForType(TYPO3CMSExtbaseDomainModelFrontendUser::class); $querySettings = $query->getQuerySettings(); $querySettings->setStoragePageIds([26]); $query->setQuerySettings($querySettings); $query->setOrderings([ 'lastName' => QueryInterface::ORDER_ASCENDING ]);
Est-ce que quelqu'un sait pourquoi je n'arrive pas à obtenir les paramètres ? Merci
Si vous avez besoin de plus de parties du code, veuillez me le faire savoir
Si vous appelez simplement l'opération List sans envoyer le formulaire de filtre, les paramètres seront vides.
Vous devez tester chaque paramètre attendu avant d'y accéder, comme ceci :