suchen

Heim  >  Fragen und Antworten  >  Hauptteil

TYPO3 V11: „PHP-Warnung: undefinierter Array-Schlüssel“, $this->request->getArguments() ist leer

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粉807471604P粉807471604397 Tage vor1001

Antworte allen(1)Ich werde antworten

  • P粉817354783

    P粉8173547832023-11-13 18:55:40

    如果您只是调用 List 操作而不发送过滤器表单,则参数为空。

    您应该在访问每个预期参数之前对其进行测试,如下所示:

    if($this->request->hasArgument('word')) {
            $searchOption = $this->request->getArgument('word'));
    }

    Antwort
    0
  • StornierenAntwort