【问题标题】:FluidTYPO3 fluidpages – custom page controller not foundFluidTYPO3 流体页面 - 未找到自定义页面控制器
【发布时间】:2019-03-05 14:33:07
【问题描述】:

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

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

<?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);
    }
}

不幸的是,这个方法似乎永远不会被执行,就好像我的班级没有找到一样。当我在带有&lt;f:debug&gt;{GET}&lt;/f:debug&gt; 的模板文件中显示GET 时,结果始终是NULL 我在URL 中添加的任何参数。我尝试用view-&gt;assign 分配另一个固定变量,它也是NULL。上面的代码没有语法错误,我使用的是 PHPStorm,它找到了父类并显示我的 initializeViewVariables 方法覆盖了 AbstractFluxController 中的那个。

我尝试过的:

  • 我按照文档中的说明 here :使用MyVendorName.Myextensionkey 形式的密钥注册了我的扩展程序。我创建了一个ClassAliasMap.php 文件,尽管我认为 TYPO3 9.5 不需要它?
  • 在我的扩展程序的composer.json 文件中,我添加了:
    "autoload": {
        "psr-4": {
            "MyVendor\\MyExt\\": "Classes"
        }
    }
    
    在我的整个 TYPO3 项目的 composer.json 中,我输入:
    "autoload": {
        "psr-4": {
            "MyVendor\\MyExt\\": "public/typo3conf/ext/myext/Classes"
        }
    }
    
    并且在我使用composer dump-autoload 命令后,我已验证此路径出现在vendor/composer/autoload_psr4.php 中。我在ext_emconf.php 文件中也有自动加载信息
  • 清空 TYPO3 中的所有缓存
  • 查看页面时,我在 TYPO3 或 Apache 日志中都没有任何错误消息

它仍然不起作用。但是,如果我在带有userFunc 的页面的 Typoscript 中调用类的方法,则自动加载会起作用。你看到我错过了什么吗?

【问题讨论】:

    标签: controller typo3 fluid typo3-9.x


    【解决方案1】:

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

    public function fooAction() {
    
    }
    

    PageController

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 2019-04-22
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多