首頁  >  問答  >  主體

TYPO3 V11: "PHP警告:未定義的陣列鍵",$this->request->getArguments()為空

我是typo3的新用戶,我製作了一個外掛程式來顯示用戶,並使用搜尋列來過濾他們,但是當我想顯示我的頁面時出現此錯誤:

(1/1) #1476107295 TYPO3CMSCoreErrorException
PHP Warning: Undefined array key "word" in MyPath/Controller/UserlistController.php line 44

在我的控制器中,我嘗試獲取參數以在我的過濾器中使用它,如下所示:

public function listAction(int $currentPage = 1)
{
   $arguments = $this->request->getArguments();
   $users = $this->userlistRepository->findBySearch($arguments['word'] ? $arguments['word'] : '');

somecode ...

}

我嘗試轉儲 $arguments,但它是空的

我的儲存庫中有一部分:

/**
     * @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
        ]);

有人知道為什麼我無法得到參數嗎?謝謝

如果您需要更多部分程式碼,請告訴我

P粉807471604P粉807471604311 天前868

全部回覆(1)我來回復

  • P粉817354783

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

    如果您只是呼叫 List 動作而不傳送篩選器表單,則參數為空。

    您應該在存取每個預期參數之前對其進行測試,如下所示:

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

    回覆
    0
  • 取消回覆