所有知识都来自伪大的中文Uncyclopedia,非常感谢!

许多人在使用MediaWiki中需要改变Logo来提高用户体验或者增加趣味性,众所周知定义MediaWiki的函数是$wglogo,那么我就再给大家讲解一下更深层次的应用。

环境 MediaWiki 1.2.0

主题MonoBook

第一步,让一个页面不显示Logo

首先我们需要js来帮助我们实现。

[php]

function noLogo(){if(document
.getElementById(‘nologo’))document.getElementById(‘p-logo’).style.display=’none’;}addOnloadHook(noLogo);;mw.loader.state({"site":"ready"});

[/php]

将上述JavaScript另存为“nologo.js”

第二步,修改模板

修改 /skins/Monobook.php

在</head>前插入

[php]

<script type="<?php $this->text(‘jsmimetype’) ?>" src="<?php $this->text(‘stylepath’ ) ?>/common/nologo.js?"></script>

[/php]

第二步完成后使用浏览器的开发者控制台(基本上都是按F12吧,O(∩_∩)O哈哈~),查看nologo.js是否被调用。

Unnamed QQ Screenshot20130902003908

可能会报“Uncaught ReferenceError: mw is not defined”错误,不管它。

第三步、在Mediawiki中创建LogoChange模板

[php]
<div class="portlet" id="nologo" style="position:absolute;top:-39px;left:-154px">{{{1|}}}</div><noinclude>
==简介==
这个模板是用來隐藏及更改百科开头的LOGO,这个代码出自正体中文的伪基百科。
*<nowiki>{{LogoChange}}</nowiki>
隐藏LOGO
*<nowiki>{{LogoChange|[[Image:(图片名称)]]}}</nowiki>
将内容变更为改为<nowiki>[[Image:(图片名称)]]</nowiki>
</noinclude>
[/php]

就是这样,喵~