Heim > Fragen und Antworten > Hauptteil
Ich bin neuer Benutzer von typo3. Ich habe ein Plugin erstellt, um Benutzer anzuzeigen und die Suchleiste zum Filtern zu verwenden. Wenn ich jedoch meine Seite anzeigen möchte, erhalte ich diese Fehlermeldung:
(1/1) #1476107295 TYPO3CMSCoreErrorException PHP Warning: Undefined array key "word" in MyPath/Controller/UserlistController.php line 44
In meinem Controller versuche ich, den Parameter so zu erhalten, dass er in meinem Filter verwendet wird:
public function listAction(int $currentPage = 1) { $arguments = $this->request->getArguments(); $users = $this->userlistRepository->findBySearch($arguments['word'] ? $arguments['word'] : ''); somecode ... }
Ich habe versucht, $arguments abzulegen, aber es war leer
Teil meines Repositorys:
/** * @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 ]);
Weiß jemand, warum ich die Parameter nicht abrufen kann? Danke
Wenn Sie weitere Teile des Codes benötigen, lassen Sie es mich bitte wissen
P粉8173547832023-11-13 18:55:40
如果您只是调用 List 操作而不发送过滤器表单,则参数为空。
您应该在访问每个预期参数之前对其进行测试,如下所示:
if($this->request->hasArgument('word')) { $searchOption = $this->request->getArgument('word')); }