【发布时间】:2011-06-20 18:41:59
【问题描述】:
有谁知道如何从 mediawiki 的“最近更改”页面中排除页面?我有一个测试页面,用户可以在其中玩弄语法和格式等,但不希望每一个小改动都显示在最近的更改页面上。
谢谢
【问题讨论】:
标签: mediawiki
有谁知道如何从 mediawiki 的“最近更改”页面中排除页面?我有一个测试页面,用户可以在其中玩弄语法和格式等,但不希望每一个小改动都显示在最近的更改页面上。
谢谢
【问题讨论】:
标签: mediawiki
我的解决方案是一个单独的 wiki 实例。设置起来并不难,然后您也可以单独测试功能更改。
【讨论】:
您可以使用SpecialRecentChangesQuery 挂钩按标题排除特定页面,如下所示:
$wgHooks['SpecialRecentChangesQuery'][] = 'rcExcludeSandbox';
function rcExcludeSandbox( $conds ) {
$dbr = wfGetDB( DB_SLAVE );
$conds[] = 'rc_title != ' . $dbr->addQuotes( 'Sandbox' );
return true;
}
这将防止页面“沙盒”上的所有更改出现在 Special:RecentChanges 中。
【讨论】:
如果您不介意编写一些 PHP,请考虑使用 http://www.mediawiki.org/wiki/Manual:Hooks/OldChangesListRecentChangesLine 挂钩。如果您将 $s 设置为给定页面的空字符串,则这些编辑不应出现在 Special:RecentChanges 中。
【讨论】:
最简单的方法是将您的页面放在不同的命名空间中,而不是默认搜索它。不幸的是,当前版本的 Mediawiki 中没有该功能。
我认为你必须使用Namespace Manager,它看起来还没有完成,但你可以试一试。似乎计划将其添加到未来的版本中。
您可以只创建一个名为Sandbox 的页面,然后允许用户编辑该页面。如果你使用Enhanced Recent Changes,所有这些编辑都会一起出现,所以不会太打扰你。
【讨论】: