我是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
]);
有人知道为什么我无法得到参数吗?谢谢
如果您需要更多部分代码,请告诉我
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果您只是调用 List 操作而不发送过滤器表单,则参数为空。
您应该在访问每个预期参数之前对其进行测试,如下所示:
if($this->request->hasArgument('word')) { $searchOption = $this->request->getArgument('word')); }