MediaWiki自定义皮肤

mediawiki的默认皮肤有三种,标准,怀旧和科隆香水蓝,如果这三种你都不满意的话,你可以自行进行修改,修改成同主页以及blog同样的风格

在 mediawiki中修改皮肤不是一件容易的事情(比较麻烦,因为它的template还不能自定义,而且显示和功能两部分在源码中没有分开),需要修改stylesheets目录里的几个css文件和includes下的几个Skin*.php文件(以Skin起头的几个文件),请慎重。

对stylesheets下的css文件进行修改,如果你希望所有用户,包括没登录的用户都拥有类似blog风格的界面,那么,你需要修改wikistandard.css文件,将所需要的几个style拷贝过来,进行修改,使之符合wiki页面里的div的id设置(这样做是为了尽量少的去修改php文件);

如果需要加上背景图,需要修改css文件,在body中加上background: url(“imageURL”);

如果想要修改背景颜色,需要修改css文件,在body中加上background-color: “自己喜欢的颜色”;

如果想换logo图片,只需要将新的logo存成wiki.png,替换掉images/wiki.png即可;

如果想修改页面的布局,则需要修改Skin.php中outputPage这个函数;

如果想修改页头和页脚的文字位置,就要修改Skin.php中,td class='top’和td class='bottom’后的align属性,我将bottom中的align属性去掉了,改为由#footer来控制;

如果希望给外部链接加上一个图标,需要修改css文件,加上一行#article a.external { background: url(“/image/external.png”) left no-repeat; padding-left: 13px; };

如果希望给新建链接换成一个图标,需要修改Skin.php,在function makeBrokenLinkObj()函数中将$s = “{$prefix}{$text}{$inside}<a href=”{$u}“{$style}>?{$trail}”;这一行改为$s = “{$prefix}{$text}{$inside}<a href=”{$u}“{$style}>{$trail}”;

注意,由于采用页面缓存机制,所有对Skin.php的修改都必须清空临时文件才能生效(修改css不用)。

mediawiki皮肤的安装及使用

mediawiki皮肤的安装十分简单,我们只需要把皮肤拷贝到相关的文件中就OK了,皮肤文件拷到哪里呢?下面就来说说说:

MediaWiki下载下来的皮肤包中包含xxx.php、xxx.deps.php与一个xxx子目录这三部分早期的皮肤可能没有xxx.deps.php文件)

然后把以上文件拷贝到mediawiki的/skins目录下即可

文件拷贝后即可生效!调用方法为:登录,进入参数设置(Specialreferences)页面,在皮肤中选择后保存即可。(注:非注册用户无法选择皮肤)

如果希望皮肤能对所有用户都生效,那么可以在将其设为默认皮肤,之后匿名用户等都将默认使用这种风格。

方法:修改localsettings.php,在文尾“?>”之前增加如下一行:

$wgDefaultSkin = ‘xxx’;