我希望我的MediaWiki网站(除了侧边栏之外,或者替代边栏)在网站顶部有一条链接栏,每页都可以看到。
为了最大限度地减少将来的维护负担,我的要求是:
不对核心,扩展程序或皮肤代码进行任何修改。我不想维护项目分叉。
理想情况下,特权用户应该能够通过编辑特殊页面来编辑菜单栏中显示的链接,类似于MediaWiki:Sidebar
控制常用侧边栏内容的方式。
Topbar extension看起来是理想的解决方案,但它似乎不适用于最新的MediaWiki版本(如果感兴趣,请参阅my SO question #37423269了解详情。)
MegaMenu extension看起来很棒,但是有一个侵入式安装程序,违反了我上面的要求#1。它还需要编辑PHP文件来更改违反#2的链接。
Erudite皮肤很漂亮,内置支持顶级菜单栏。但在我的测试中,顶部菜单栏区域为空,侧栏在页脚底部的页面底部呈现。皮肤文档没有解释如何自定义顶部菜单栏内容。
有什么明显的东西我在这里俯瞰吗?其他MediaWiki网站如何做到这一点?
答案 0 :(得分:1)
在进一步深入研究Erudite皮肤之后,我了解到它的水平顶部菜单栏是从"导航" var objectID; //this is the ID I'm talking about in my question
function clickedLoginButton(){
var script = document.createElement('script');
script.src = 'jquery-2.1.4.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
var user = document.getElementById('username'); //inputted username
var pass = document.getElementById('password'); //inputted password
var passed = false;
$.getJSON('data.json', function(data){
console.log("Length: " + data.length)
i = 0;
do{
console.log(data[i].login);
if(user.value == data[i].login && pass.value == data[i].pass){
objectID = i;
window.open("http://localhost/loggedIn.html", "_self", true);
console.log("pass");
return;
}
i++;
}
while(i != data.length);
if(passed == false){
window.open("http://localhost/loginFailed.html", "_self", true);
objectID = 999999999;
console.log("failed");
}
});
的一部分。 (我特别的问题是,我将该部分标记为大写为"导航"而不是全部小写为"导航";当我改变它时,我开始在顶部菜单中看到链接。 )
因此,对于那个皮肤,侧边栏可能看起来像:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script> //This is where I want to use the object ID
var numPlayed;
var numLazy;
$.getJSON('data.json', function(data){
var chartData = [
{
value: data[objectID].numStudents-data[objectID].numStudentsPlayed,
color: "dimgray",
highlight: "gray",
label: "lazy"
},
{
value: data[objectID].numStudentsPlayed,
color: "skyblue",
highlight: "powderblue",
label: "played"
}
];
var ctx = document.getElementById("pieCanvas").getContext("2d");
var piechart = new Chart(ctx).Pie(chartData);
});
</script>
菜单将呈现类似于:
我仍然有兴趣听听我是否遗漏了一些内置的MediaWiki功能,例如:使用Vector皮肤,或常用的扩展名。