Я пытаюсь написать MediaWiki Search Hook, который будет перечислять собственные файлы в файловой системе, а затем, в конечном итоге, позволит человеку щелкнуть один из файлов и просмотреть его содержимое.
Мои расширения. json содержит это:
"Hooks": {
"SearchAfterNoDirectMatch": "MediaWiki\\Extension\\NativeFileList\\Hooks::onSearchAfterNoDirectMatch"
},
Файл My Hooks :: onSearchAfterNoDirectMatch выглядит следующим образом:
namespace MediaWiki\Extension\NativeFileList;
class Hooks {
/**
* @see https://www.mediawiki.org/wiki/Manual:Hooks/SearchAfterNoDirectMatch
* @called from https://gerrit.wikimedia.org/g/mediawiki/core/+/master/includes/search/SearchNearMatcher.php
* @param $searchterm
* @param $title - array of titles
* Returns true if it found something, false is otherwise
*/
public static function onSearchAfterNoDirectMatch( $searchterm, &$title ) {
$title=Title::newFromText( "test", "bar");
return false;
}
}
Моя проблема в том, что текст не возвращается. Ну, это еще хуже. С помощью приведенного выше кода я получаю исключение (но я не знаю, как его отладить, потому что я не вижу исключения). Если я уберу настройку линии $title
, она вернется. Если я изменю строку на $title=undefined();
, я получу еще одну ошибку. Если я установлю $title="foo";
, я не получу ошибку, но не получу foo.
Итак, как мне вернуть поисковый запрос или, что еще лучше, набор поисковых запросов?
Ни один из существующихпоисковые плагины используют современный поиск Hook API, который задокументирован в следующих местах: