Mediawiki 搜索外部数据库 - 前置挂钩
Mediawiki search external database - prepend hook
我正在尝试编写一个插件,根据提供的搜索词显示内部 mediawiki 数据库结果和来自外部 SQL 数据库的结果。
我已经编写了所有的搜索代码,但我很难真正显示我的结果。我检查了 Special: Version 并且出现了我的扩展。
我试过这个钩子:
$wgHooks[ 'SpecialSearchResultsPrepend'][] = 'onSpecialSearchResultsPrepend';
我的功能是
function onSpecialSearchResultsPrepend($t, $out, $term){
some routine
}
,但我无法在此挂钩上正确显示任何内容。此外,当我只是尝试写入调试控制台或打印原始调试文本时,我的扩展没有任何输出。
mediawiki 文档指定 return false 以禁用通用搜索输出。我试过这个只是为了验证我实际上是否正确挂钩,并且 returning false 从挂钩中不会禁用搜索结果。因此,我相信我使用了不正确的挂钩方法。
挂接到此函数的正确方法是什么?我试过在单独的文件、全局函数中或在 类 内声明。 None 似乎解决了我的问题。现在,我正试图从主扩展文件中 return false,即 'externalsqlsearch.php'.
这是我针对 Mediawiki 1.26.2 的工作解决方案 - 我无法在文档中找到它,但我能够通过阅读其他扩展来收集它。
要注册挂钩,您必须在 extensions.json 文件的 'hooks' 部分下声明它。对我来说,这看起来像
"AutoloadClasses": {
"ExternalSQLSearchHooks": "ExternalSQLSearch.hooks.php"
},
"Hooks": {
"SpecialSearchResultsPrepend": [
"ExternalSQLSearchHooks::onSpecialSearchResultsPrepend"
]
},
并且在 ExternalSQLSearch.hooks.php 中,准系统示例:
class ExternalSQLSearchHooks {
public static function onSpecialSearchResultsPrepend($t, $out, $term){
$out->addWikiText( 'Testing');
return true;
}
}
我正在尝试编写一个插件,根据提供的搜索词显示内部 mediawiki 数据库结果和来自外部 SQL 数据库的结果。
我已经编写了所有的搜索代码,但我很难真正显示我的结果。我检查了 Special: Version 并且出现了我的扩展。
我试过这个钩子:
$wgHooks[ 'SpecialSearchResultsPrepend'][] = 'onSpecialSearchResultsPrepend';
我的功能是
function onSpecialSearchResultsPrepend($t, $out, $term){
some routine
}
,但我无法在此挂钩上正确显示任何内容。此外,当我只是尝试写入调试控制台或打印原始调试文本时,我的扩展没有任何输出。
mediawiki 文档指定 return false 以禁用通用搜索输出。我试过这个只是为了验证我实际上是否正确挂钩,并且 returning false 从挂钩中不会禁用搜索结果。因此,我相信我使用了不正确的挂钩方法。
挂接到此函数的正确方法是什么?我试过在单独的文件、全局函数中或在 类 内声明。 None 似乎解决了我的问题。现在,我正试图从主扩展文件中 return false,即 'externalsqlsearch.php'.
这是我针对 Mediawiki 1.26.2 的工作解决方案 - 我无法在文档中找到它,但我能够通过阅读其他扩展来收集它。
要注册挂钩,您必须在 extensions.json 文件的 'hooks' 部分下声明它。对我来说,这看起来像
"AutoloadClasses": {
"ExternalSQLSearchHooks": "ExternalSQLSearch.hooks.php"
},
"Hooks": {
"SpecialSearchResultsPrepend": [
"ExternalSQLSearchHooks::onSpecialSearchResultsPrepend"
]
},
并且在 ExternalSQLSearch.hooks.php 中,准系统示例:
class ExternalSQLSearchHooks {
public static function onSpecialSearchResultsPrepend($t, $out, $term){
$out->addWikiText( 'Testing');
return true;
}
}