使用InputBox将额外的搜索文本添加到MediaWiki搜索查询

时间:2012-04-18 08:10:40

标签: php search wiki mediawiki semantics

我们正在使用InputBox扩展程序。我们希望使用两个复选框来搜索函数,如下所示:

Search

因此,用户不能选择一个或两个复选框,这些复选框引用页面上的特定文本。也就是说,如果用户选择“平台1.0”,则搜索将返回页面上具有“平台1.0”的页面。 (实际上:他们将使用特定的语义属性返回页面,从而在页面上生成文本。)

因此,我们想要一种方法来搜索平台文本和在搜索框中输入的文本。

我们尝试过:

  • 将这些页面分类,但我们使用模板(模板中的类别)which does not make them searchable using incategory来完成此操作。
  • 使用命名空间/前缀代码为InputBox编写新的PHP代码,但显然这些代码都使用搜索API中的特定单词。我们无法将特定字词添加到例如搜索网址。
  • 使用Semantic的属性搜索,但我们无法将自定义文本(由用户输入)添加到该查询中。

非常欢迎您的想法!

1 个答案:

答案 0 :(得分:1)

很难,当您选中每个复选框时,您可以尝试使用JavaScript添加所需的关键字。类似的东西:( jQuery用于舒适,但如果不是一个选项,也可以使用普通的JS):

$("#search").submit(function(e) {
    var search_value = $('input[type="text"]', this).val();
    if ($("#checkbox1").checked) { search_value = "SomeValue " + search_value; }
    if ($("#checkbox2").checked) { search_value = "SomeOtherValue " + search_value; }

    $('#search input[type="text"]').val(search_value);
    $(this).submit();
    e.preventDefault();
});

注意,如果用户因某种原因禁用了JavaScript,您的功能将会受损,这一直是一种不好的做法。只有在你真正提取所有其他可能性的情况下才使用它。