我是typo3的新用戶,我製作了一個(gè)外掛程式來(lái)顯示用戶,並使用搜尋列來(lái)過(guò)濾他們,但是當(dāng)我想顯示我的頁(yè)面時(shí)出現(xiàn)此錯(cuò)誤:
(1/1) #1476107295 TYPO3CMSCoreErrorException PHP Warning: Undefined array key "word" in MyPath/Controller/UserlistController.php line 44
在我的控制器中,我嘗試獲取參數(shù)以在我的過(guò)濾器中使用它,如下所示:
public function listAction(int $currentPage = 1) { $arguments = $this->request->getArguments(); $users = $this->userlistRepository->findBySearch($arguments['word'] ? $arguments['word'] : ''); somecode ... }
我嘗試轉(zhuǎn)儲(chǔ) $arguments,但它是空的
我的儲(chǔ)存庫(kù)中有一部分:
/** * @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 ]);
有人知道為什麼我無(wú)法得到參數(shù)嗎?謝謝
如果您需要更多部分程式碼,請(qǐng)告訴我
如果您只是呼叫 List 動(dòng)作而不傳送篩選器表單,則參數(shù)為空。
您應(yīng)該在存取每個(gè)預(yù)期參數(shù)之前對(duì)其進(jìn)行測(cè)試,如下所示:
if($this->request->hasArgument('word')) { $searchOption = $this->request->getArgument('word')); }