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