heimrichhannot/contao-autocompletejs-bundle

此插件为 Contao CMS 提供了 autocomplete.js 的支持。

0.3.15 2024-05-29 12:55 UTC

README

此插件为 Contao CMS 提供了 JavaScript 库 autoComplete.js 的支持。

功能

  • 在页面级别激活 autocomplete.js 支持(带有继承和覆盖选项)
  • 从 dca 定制选项
  • Encore Contracts 支持

安装

通过 composer 安装: composer require heimrichhannot/contao-autocompletejs-bundle 并更新您的数据库。

使用

在页面级别激活或停用 autocomplete.js 支持。您可以从父页面覆盖设置。

DCA 配置

要在 dca 字段上激活 autocomplete.js,请添加

autocompletejs 配置添加到 dca 字段的 eval 数组中

    'fieldName' => [
        'eval' = [
            'autocompletejs' => [ 
                'active' => true,
                'options' => []
            ]
        ]
    ]

示例:从 API 加载数据

    'fieldName' => [
        'eval' = [
            'autocompletejs' => [ 
                'active' => true,
                'options' => [
                    'data' => [
                        'url' => 'https://example.org/users/{query}',
                        'keys' => ['name', 'city'],
                    ]
                ]
            ]
        ]
    ]

API 的返回值必须是对象数组。在 data.keys 中定义的对象键将用于显示结果。

[
    {
        "name": "John Doe",
        "city": "New York"
    },
    {
        "name": "Jane Doe",
        "city": "Los Angeles"
    }
]

配置选项

您还可以设置库的所有选项(见 更多)。

自定义配置值

此插件为 searchEngine 选项提供新的值:'none'

如果不应将搜索算法应用于结果列表,请设置 searchEngine : 'none'。如果您的结果已经搜索过(例如,来自 API 的结果列表),这将很有用。

事件

JavaScript 事件

可以使用以下事件进一步自定义 autocomplete.js 实例

!!!注意!!! 已知限制

当通过控制器获取数据时,请确保返回的数组是数值连续索引的。或者如果使用 key 选项,则数组不应是数值索引的。JSON 应该永远看起来像这样

{
    "0" : {"key" : "value"},
    "1" : {"key" : "value"},
    "3" : {"key" : "value"}
}