我想使用viewhelper f:widget.autocomplete为TYPO3 8.7中的一点扩展实现搜索的自动完成功能。
TYPO3 8.7的文档。什么也没说:https://docs.typo3.org/m/typo3/guide-extbasefluid/8.7/en-us/Fluid/ViewHelper/Widget/Autocomplete.html
我按照TYPO3 9.5文档中的说明进行了尝试。 https://docs.typo3.org/other/typo3/view-helper-reference/9.5/en-us/typo3/fluid/latest/Widget/Autocomplete.html
我已经包含了JS-和CSS-Assets,并在扩展的过滤器表单中使用viewhelper:
<input type="text" id="search" name="pluginname[search]" />
<f:widget.autocomplete for="search" objects="{myobject}" searchProperty="name" />
如果我在文本字段中输入了一些内容,这会集成sysext / fluid的JS-Snippet并进行ajax调用: http://host/index.php?id=1&type=7076&fluid-widget-id=305d544b2a96a8e5a73db7e93c083586&action=autocomplete&term=myterm
但是根据我的搜索词,对此调用的响应不仅包含漏洞页面,而且还包含数据库查询的结果。
现在我的问题:
我要怎么做才能使自动完成功能起作用?
我是否需要在控制器中执行其他自动完成操作?
是否需要为pageType进行其他设置?
当前,pageType 7076是由Fluid-Sysextension配置的:
fluidAjaxWidgetResponse = PAGE
fluidAjaxWidgetResponse {
# todo: make page type configurable
typeNum = 7076
headerData >
config {
no_cache = 1
disableAllHeaderCode = 1
additionalHeaders.10.header = Content-Type: text/plain
additionalHeaders.10.replace = 1
debug = 0
}
10 = USER_INT
10 {
userFunc = TYPO3\CMS\Fluid\Core\Widget\Bootstrap->run
}
}
config.tx_extbase {
mvc {
requestHandlers {
TYPO3\CMS\Fluid\Core\Widget\WidgetRequestHandler = TYPO3\CMS\Fluid\Core\Widget\WidgetRequestHandler
}
}
}