FluidTYPO3 fluidpages – 找不到自定义页面控制器

FluidTYPO3 fluidpages – custom page controller not found

我正在使用 TYPO3 9.5 和 Fluid Powered TYPO3 扩展构建一个网站,我需要在我的 fluidpages 模板中访问 GET 和 POST 变量。

我试图创建一个自定义 PageController 来执行此操作;这是我在 …myext/Classes/Controller/PageController.php 中添加的 class :

<?php

namespace MyVendor\MyExt\Controller;

use FluidTYPO3\Fluidpages\Controller;

class PageController extends Controller\PageController
{
    protected function initializeViewVariables() {
        parent::initializeViewVariables();
        $GETarray = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET();
        $this->view->assign('GET', $GETarray);
    }
}

不幸的是,这个方法好像一直没有执行,好像我的class没找到一样。当我在带有 <f:debug>{GET}</f:debug> 的模板文件中显示 GET 时,无论我在 URL 中添加什么参数,结果总是 NULL。我尝试用 view->assign 分配另一个固定变量,它也是 NULL。上面的代码没有语法错误,我使用的是 PHPStorm,它找到父 class 并显示我的 initializeViewVariables 方法覆盖了 AbstractFluxController.

中的方法

我尝试过的:

而且还是不行。但是,如果我在带有 userFunc 的页面的 Typoscript 中调用 class 的方法,自动加载就会起作用。你看到我错过了什么了吗?

暂时回答我自己的问题(希望以后能补充更多细节):为了让上面的控制器在某个页面被调用,我们需要添加一个动作,即使是一个空动作,与模板同名。例如,如果我们的页面模板是 Foo.html,如果我们添加一个操作方法,它将起作用:

public function fooAction() {

}

PageControllerclass