貌似我好久没折腾MediaWiki了,这东西确实好用,不过小问题确实蛮多。除了那非智能的中文搜索,还有一堆小缺点滴。比如说这个:分类页面的首字母索引问题。
原始的MediaWiki分类页面是这样的。
怎么样,很挫吧,要是分类里有中文页面那就更挫了。。
于是乎我就像把这些首字母索引给去掉,其实方法挺简单,修改MediaWiki主目录下includes文件夹中的CategoryPage.php就行了。
Mediawiki分类页面中默认的文章列表有两种,一种是三列的,一种是单列的,分别对应CategoryPage.php文件中的columnList和shortList两个函数。把首字母索引给去掉的修改也很简单:
在columnList函数中把
$r .= "<h3>" . htmlspecialchars( $articles_start_char[$index] ) . "$cont_msg</h3>\n<ul>";
替换成$r .= "<ul>";
在shortList函数中把
//$r = ‘<h3>’ . htmlspecialchars( $articles_start_char[0] ) . "</h3>\n";注释
掉然后把$r .= ‘<ul><li>’.$articles[0].’</li>’;替换成$r = ‘<ul><li>’.$articles[0].’</li>’;
接着把
if ($articles_start_char[$index] != $articles_start_char[$index - 1]) { $r .= "</ul><h3>" . htmlspecialchars( $articles_start_char[$index] ) . "</h3>\n<ul>"; }
注释掉就行了
把修改完的CategoryPage.php替换掉原来的,刷新页面,OK。顺便把原来的三列改成两列的模式。效果见下图,相比原来那肯定顺眼多了。
[...]
