MediaWiki如何为InputBox启用自动完成功能? (或是否有其他扩展名)

时间:2019-07-09 14:52:21

标签: mediawiki mediawiki-extensions

我在Wiki的起始页上添加了一个输入框。我想模仿Google。

<inputbox>
type=search
break=yes
</inputbox>

,并且我激活了自动完成以进行搜索 https://www.mediawiki.org/wiki/Manual:Enabling_autocomplete_in_search_box

现在,我意识到,我们对搜索框拥有出色的自动完成功能,但对于突出显示的输入框却没有。

有没有办法激活它?我也已经在寻找替代扩展。

2 个答案:

答案 0 :(得分:1)

通过执行以下步骤,有一种虚拟的方法:

  • 确保在您的Mediawiki版本中安装了JQuery UI。如果没有,则将其附加到您的项目中。
  • 将此代码添加到您的Mediawiki:common.js页面:

( function ( mw, $ ) {
    $( function () {
        $( '.searchboxInput' ).autocomplete( { //This is the class Name of your desired input
            source: function( request, response ) {
                // Create a new Api object (see [[RL/DM#mediawiki.api]]
                var api = new mw.Api();
                // Start a "GET" request
                api.get( {
                    action: 'opensearch',
                    search: request.term, // This is the current value of the user's input
                    suggest: ''
                } ).done( function ( data ) {
                    response( data[1] ); // set the results as the autocomplete options
                } );
            }
        } );
    } );
}( mediaWiki, jQuery ) );

  • 清除浏览器中的缓存,然后刷新页面。您会发现,当您在该输入中输入任何字符时,它将向您显示相关页面的列表。

答案 1 :(得分:0)

根据ASammour输入,我再次搜索。

更新Mediawiki:common.js有帮助

但仅适用于

document.getElementById('searchform').action = '/w/index.php';
document.getElementsByName('search')[0].id = 'searchInput';

如此处所述 https://www.mediawiki.org/wiki/Topic:Qun56cwugo953s9f