我在工作中使用MediaWiki并创建知识库。我们已经完成了所有设置,但一个要求是在每个页面上都有唯一的标识符,然后可以在官方文档中引用它。我通过使用魔术词{{PAGEID}}
来完成此操作,因此它已添加到每个页面的右下角。
另一项要求是能够根据此唯一编号查找页面,但在使用内置搜索功能时,无法找到该页面。
例如,主页面上有文字" Page ID:1"在右下角。在搜索" Page ID:1"什么都找不到,Wiki只给我创建页面的选项。
有谁知道如何搜索或搜索包含网页ID?
任何帮助将不胜感激。
答案 0 :(得分:2)
global $wgHooks;
$wgHooks['SearchGetNearMatchBefore'][] = function ( array $allSearchTerms, &$titleResult ) {
$searchTerm = $allSearchTerms[0];
if ( preg_match( '/^id:\d+$/', $searchTerm ) ) {
$pageId = (int)substr( $searchTerm, 3 );
$titleResult = Title::newFromID( $pageId );
return false;
}
};
当您在搜索框中输入123
时,将跳转到ID为id:123
的网页。看起来似乎是一种使用搜索的愚蠢方式。