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

2

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

Search

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

Итак, мы хотим найти способ поиска текста платформы и текста, введенного в поле поиска.

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

putting these pages into categories, but we did this using templates (categories in the templates) which does not make them searchable using incategory. writing new PHP code for InputBox using the namespaces / prefix code, but these both use specific words in the search API, apparently. We can't add specific words to e.g. the search URL. using Semantic's search by property, but we can't add custom text (entered by the user) to that query.

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

Ваш Ответ

1   ответ
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();
});

NoteЕсли пользователь по какой-либо причине отключит JavaScript, ваша функциональность будет повреждена, что всегда является плохой практикой. Используйте это только в том случае, если вы действительно извлекли все другие возможности.

Мне потребовалось много времени, чтобы принять это, потому что мне пришлось очень много попробовать, чтобы это сработало, но теперь у меня наконец получилось (см. Также связанный вопрос). Большое спасибо! Wikis
Мы быстро посмотрели, и ваше решение выглядит великолепно, у нас еще не было возможности его протестировать. Когда мы это сделаем, я опубликую здесь. Спасибо! Wikis

Похожие вопросы