【问题标题】:TYPO3 8.7 - why is my typeNum page empty?TYPO3 8.7 - 为什么我的 typeNum 页面是空的?
【发布时间】:2017-09-09 17:30:04
【问题描述】:

我已经坚持了大约一天了。我最近从 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,而不是简单地创建我自己的模板。我认为这不应该导致问题,但我想我还是会提到它。

谢谢一百万!

【问题讨论】:

  • 你是什么意思,简单地说?
  • 我是否理解正确,浏览器中对http://your-host/?type=427590 的常规请求有效,但如果作为 XHR (AJAX) 执行则无效?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    此外,TYPO3 8 的 USER 函数系统税也发生了变化,如下所示。

    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) {
         .....
         ......
      }
    }
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多