如何在TYPO3 8.7中获取viewhelper f:widget.autocomplete

时间:2019-07-08 13:44:05

标签: autocomplete typo3 fluid typo3-8.x

我想使用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
        }
    }
}

0 个答案:

没有答案