TYPO3 8.7 - 为什么我的typeNum页面是空的?

时间:2017-04-13 14:24:00

标签: typo3 fluid extbase typo3-7.6.x typo3-8.x

我现在已经坚持了大约一天。我最近从7.6升级到8.7,我的Ajax功能不再有效。问题:我为承载Ajax调用插件而生成的页面是空的(总是)。

以下是我用来生成页面的代码:

ajaxselectlist_page = PAGE
ajaxselectlist_page {
    typeNum = 427590

    config {
        disableAllHeaderCode = 1
        additionalHeaders = Content-type:application/html
        xhtml_cleaning = 0
        debug = 0
        no_cache = 1
        admPanel = 0
    }

    10 < tt_content.list.20.extension_controller
}

我测试了它,问题似乎与插件生成有关,因为我在页面上生成通用文本没有问题。

我确实设法使用以下代码非常简单地工作,但是即使这在我第一次进行Ajax调用时返回空白。

10 = USER
10 {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->getInstance
    vendorName = HarryLaForge
    extensionName = Inventory
    pluginName = Item
    controller = Item
}

另一个信息点:当我更新到8.7时,我还从我的安装中删除了boostrap_package,而不是简单地创建我自己的模板。我不认为这应该导致问题,但我想我会提到它。

万分感谢!

3 个答案:

答案 0 :(得分:0)

如果您可以在typeNum页面上输出一些TEXT但是你的插件没有返回任何内容,那么你的插件可能与TYPO3 8不兼容?打开Installtool中的display_errors(将Environment设置为Development)并再次检查页面是否有错误(或PHP错误日志)

答案 1 :(得分:0)

首先在LocalConfiguration.php文件中设置'displayErrors' => 1。因此,您可以在此页面上找到确切的问题。

此外,TYPO3 8的用户功能系统更改如下所示。

page = PAGE
page.10 = USER
page.10 {
  userFunc = Your\NameSpace\YourClass->yourMethods
  vendorName = HarryLaForge
  extensionName = Inventory
} 

你的班级档案就像这样。

namespace Your\NameSpace;

class YourClass {
  /**
   * Output the current time in red letters
   *
   * @param  string          Empty string (no content to process)
   * @param  array           TypoScript configuration
   * @return string          HTML output, showing the current server time.
   */
  public function yourMethods($content, $conf) {
     .....
     ......
  }
}

答案 2 :(得分:0)

从TYPO3开始,8.x additionalHeaders是一个数组:

additionalHeaders {
    10 {
        header = Content-Type: application/html
        replace = 1
    }
}