我正在使用Mediawiki创建一个wiki。 我在其他wiki上看过每个页面的右侧栏。 像这样:http://minecraft.gamepedia.com/Diamond_Ore 右侧栏有关于那件事的信息 维基文章解释或者说什么。
我想知道是否可以在每个上做到这一点 页面,以及如何?
我做了一个示例页面:http://moreplus.mwzip.com/wiki/ExamplePage 这是我的维基,我想知道如何在页面上添加侧栏。
答案 0 :(得分:8)
要制作简单而优雅且灵活的信息框,请先检查是否已安装ParserFunctions extension。然后使用以下HTML和wikitext组合创建一个名为“Infobox”(或其他)的模板:
<div class="infobox">
<div class="infobox-title">{{{title|{{PAGENAME}}}}}</div>{{#if:{{{image|}}}|
<div class="infobox-image">[[File:{{{image}}}|300px]]</div>}}
<table>{{#if:{{{param1|}}}|<tr>
<th>Parameter 1</th>
<td>{{{param1}}}</td>
</tr>}}{{#if:{{{param2|}}}|<tr>
<th>Parameter 2</th>
<td>{{{param2}}}</td>
</tr>}}{{#if:{{{param3|}}}|<tr>
<th>Parameter 3</th>
<td>{{{param3}}}</td>
</tr>}}{{#if:{{{param4|}}}|<tr>
<th>Parameter 4</th>
<td>{{{param4}}}</td>
</tr>}}{{#if:{{{param5|}}}|<tr>
<th>Parameter 5</th>
<td>{{{param5}}}</td>
</tr>}}</table>
</div>
将“param1”,“param2”等替换为您对信息框实际需要的参数,例如“名称”,“出生日期”等。如果您需要更多参数,只需复制(带副本) -paste)现有参数之一并对其进行修改。
然后转到MediaWiki:Common.css并添加一些样式(如果您没有编辑MediaWiki:Common.css的必要权限,则必须将此CSS作为内联样式添加到模板中的HTML ):
.infobox {
background: #eee;
border: 1px solid #aaa;
float: right;
margin: 0 0 1em 1em;
padding: 1em;
width: 400px;
}
.infobox-title {
font-size: 2em;
text-align: center;
}
.infobox-image {
text-align: center;
}
.infobox th {
text-align: right;
vertical-align: top;
width: 120px;
}
.infobox td {
vertical-align: top;
}
最后,转到需要信息框的wiki页面并复制以下wiki文本,将“Infobox”替换为您给模板的名称,将“param1”,“param2”等替换为您定义的参数早期:
{{Infobox
|title =
|image =
|param1 =
|param2 =
|param3 =
|param4 =
|param5 =
}}
您可以安全地留空或删除任何不使用的参数,因为它们都是可选的。如果未提供“标题”,则信息框将默认为页面名称,这通常是您想要的。
我必须为无数客户开发类似这样的信息框,我慢慢地在复杂性和灵活性方面达到最佳解决方案。希望它可以帮助别人!
任何高级用户的PS:我建议使用HTML而不是wikitext来定义主表,因为这样我们可以避免与#ifs的管道发生冲突。在维基百科中,通过使用插入管道的名为{{!}}的模板可以避免这种冲突,但这会导致无法读取的wikitext。
答案 1 :(得分:4)
信息框只是右侧浮动和一些额外格式的表格。
{| style="float:right;border:1px solid black"
| My fantastic infobox
|-
| More info
|}
为了最佳做法,您应该在wiki的CSS中的类中包含信息框格式,并定义信息框template,而不是在每个页面上创建单独的表。
答案 2 :(得分:1)
不确定@Sophivorus帖子有多新鲜 - 没有日期所以我假设它是2018年,如果没有 - 抱歉。
我正在寻找一个教程,可以解释令人讨厌的信息框及其创建过程,但没有运气。维基本身没有任何帮助。经过2,5个晚上,我终于放弃了,找到了Sophivorus的帖子。它给了我一个暗示,也许用简单的CSS创建一个HTML的信息框是一个更好的广告更容易的想法..我认为Wiki必须将其s&amp;&amp; ty信息框转换为HTML,我没有错! :)我有一个很好的信息框没有学习wiki的scribunto-lua-srua-wikitext怪物以及HTML和CSS方面的知识。
我想逐步分享像我这样的假人的解决方案。
<table class"[..]
标记。请注意,当您在<table class="
<table class="infobox" bla bla bla>
)2)标题/标题类信息框 - 副标题(或其他; <th class="infobox-subtitle" bla bla>
)3)给出子如果您希望任何子标题(<td class="infobox-subtitle" bla bla>
)。从这里复制CSS或者使用上面提到的类自己在CSS中创建代码
.infobox {
background-color: #ffff00;
border: 2px solid #008600;
float: right;
margin: 0 0 1em 1em;
padding: 1em;
width: 400px;
}
.infobox-title {
border: 1px solid #000000;
font-size: 1.5em;
text-align: center;
background-color: #ff0000;
}
.infobox-subtitle {
font-size: 1em;
text-align: center;
background-color: #fff00;
}
.infobox-image {
text-align: center;
background-color: #ffff00;
}
在HTML中 在您希望用户添加信息的地方粘贴{{{somenamehere}}},然后创建..模板,您必须将其放在其他页面上以调用您的Examplenamehere模板:
{|Examplenamehere
|{{{somenamehere1}}}
|{{{somenamehere2}}}
|etc. etc.
|}
要在页面顶部放置一个页面名称为{{{nazwa|{{PAGENAME}}}}}
的标题,而不是标题。
如果您想检查或复制我的模板,请转到此处:http://wiki.mrowki.ovh/index.php?title=Szablon:Opis并检查页面