您的位置:首页 > 其它

mediawiki系列1:皮肤的自定义

2015-09-22 11:11 1346 查看
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}>?</a>{$trail}";这一行改为$s = "{$prefix}{$text}{$inside}<a href="{$u}"{$style}><img src='imageURL' border='0'/></a>{$trail}";

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

mediawiki皮肤库下载及安装:
https://www.mediawiki.org/wiki/Category:All_skins选择要下载的皮肤(以apex为例)
将下载的皮肤文件移动到mediawiki\skins文件夹下

在mediawiki\localsetting.php中加入语句wfLoadSkin( 'apex' );

在mediawiki搜索框中输入Special:Version验证是否安装完毕。


mediawiki皮肤的安装及使用

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

MediaWiki下载下来的皮肤包中包含xxx.php、xxx.deps.php与一个xxx子目录这三部分早期的皮肤可能没有xxx.deps.php文件)
然后把以上文件拷贝到mediawiki的/skins目录下即可
文件拷贝后即可生效!调用方法为:登录,进入参数设置(Special:Preferences)页面,在皮肤中选择后保存即可。(注:非注册用户无法选择皮肤)
如果希望皮肤能对所有用户都生效,那么可以在将其设为默认皮肤,之后匿名用户等都将默认使用这种风格。

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

$wgDefaultSkin = 'xxx';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: