Я хочу использовать 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-активы и использую viewhelper в форме фильтра моего расширения:
<input type="text" id="search" name="pluginname[search]" />
<f:widget.autocomplete for="search" objects="{myobject}" searchProperty="name" />
Это интегрирует JS-фрагмент из sysext / fluid и делает вызов ajax, если я что-то помещаю в текстовое поле .:
http://host/index.php?id=1&type=7076&fluid-widget-id=305d544b2a96a8e5a73db7e93c083586&action=autocomplete&term=myterm
Но ответ на этот вызов содержит страницу дыры, а не только результат запроса к базе данных в соответствии с моим поисковым запросом.
Теперь мой вопрос :
Что мне нужно сделать, чтобы функция автозаполнения работала?
Нужно ли дополнительное действие автозаполнения в моем контроллере?
Или нет необходимости в дополнительной настройке для типа страницы?
В настоящее время 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
}
}
}