我是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粉8173547832023-11-13 18:55:40
如果您只是调用 List 操作而不发送过滤器表单,则参数为空。
您应该在访问每个预期参数之前对其进行测试,如下所示:
if($this->request->hasArgument('word')) { $searchOption = $this->request->getArgument('word')); }