2012-04-18 33 views
2

我們使用InputBox擴展名。我們希望有使用兩個複選框這樣的搜索功能:使用InputBox向MediaWiki搜索查詢添加額外的搜索文本

Search

因此,用戶可以選擇兩者都不是,一個或指特定文本在頁面上的兩個複選框。也就是說,如果用戶選擇「平臺1.0」,搜索將返回頁面上的「平臺1.0」。 (實際上:他們會使用特定的語義屬性返回頁面,這會導致頁面上顯示文字。)

所以我們想要一種方法來搜索平臺文本和搜索框中輸入的文本。

我們試過:

  • 將這些網頁進行分類,但我們這樣做使用模板(模板中的類別)which does not make them searchable using incategory
  • 使用名稱空間/前綴代碼編寫InputBox的新PHP代碼,但顯然這些代碼都在搜索API中使用特定的單詞。我們無法將特定字詞添加到搜索網址。
  • 使用Semantic按屬性搜索,但我們無法將自定義文本(由用戶輸入)添加到該查詢中。

想法非常歡迎!

回答

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的出於某種原因,你的功能將被損壞,這總是一個不好的做法。只有在你真正提取了所有其他可能性的情況下才使用它。

+0

我們已經快速瀏覽了一下,你的解決方案看起來很棒,沒有機會測試它。當我們這樣做時,我會在這裏發帖。謝謝! – Wikis 2012-04-25 07:49:54

+0

我花了很長時間才接受,因爲我必須嘗試很多才能使這個工作,但現在我終於有了(也見鏈接問題)。非常感謝! – Wikis 2012-05-25 13:34:23