Добавление дополнительного текста поиска в поисковый запрос MediaWiki с помощью InputBox

Мы используем расширение InputBox . Мы хотим иметь функцию поиска, используя два флажка, например:

Поиск

Таким образом, пользователь не может выбрать ни один, ни оба флажка, которые относятся к определенному тексту на странице. То есть, если пользователь выбирает «Platform 1.0», поиск вернет страницы с «Platform 1.0» на странице. (На самом деле: они возвращают страницы с использованием специального семантического свойства, которое приводит к тексту на странице.)

Поэтому нам нужен способ поиска текста платформы и текста, введенного в поле поиска.

Мы пробовали:

  • помещая эти страницы в категории, но мы сделали это, используя шаблоны (категории в шаблонах), которые не делают их доступными для поиска, используя категорию .
  • написав новый PHP-код для InputBox, используя код пространства имен / префикс, но они оба используют определенные слова в API поиска. Мы не можем добавлять определенные слова, например, к URL поиска.
  • используя поиск по свойствам Semantic, но мы не можем добавить пользовательский текст (введенный пользователем) к этому запросу.

Идеи очень приветствуются!

Solutions Collecting From Web of "Добавление дополнительного текста поиска в поисковый запрос MediaWiki с помощью InputBox"

Жесткий, вы можете попробовать использовать 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, ваша функциональность будет повреждена, что всегда является плохим. Используйте это только в том случае, если вы действительно извлекли все другие возможности.