0%

删除MediaWiki类别页面中的字母索引

  貌似我好久没折腾MediaWiki了,这东西确实好用,不过小问题确实蛮多。除了那非智能的中文搜索,还有一堆小缺点滴。比如说这个:分类页面的首字母索引问题。

  原始的MediaWiki分类页面是这样的。

image

  怎么样,很挫吧,要是分类里有中文页面那就更挫了。。

image

  于是乎我就像把这些首字母索引给去掉,其实方法挺简单,修改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。顺便把原来的三列改成两列的模式。效果见下图,相比原来那肯定顺眼多了。

image

image

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 下载