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