TYPO3 V11: "PHP警告:未定义的数组键",$this->request->getArguments()为空
P粉807471604
P粉807471604 2023-11-12 21:35:09
0
1
923

我是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粉807471604
P粉807471604

全部回复(1)
P粉817354783

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

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

if($this->request->hasArgument('word')) {
        $searchOption = $this->request->getArgument('word'));
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!