2015-01-06 196 views
0

我正在使用Mediawiki製作一個wiki。 我在其他wiki上看過每個頁面的右側欄。 喜歡傾向:http://minecraft.gamepedia.com/Diamond_Ore 右側欄有關於維基文章解釋或之後的內容的信息。如何在mediawiki中製作「信息框」?

我想知道是否有可能在每個 頁面上做出如何操作?

我製作了一個示例頁面:http://moreplus.mwzip.com/wiki/ExamplePage 這是我的維基,我想知道如何在頁面中添加邊欄。

回答

2

信息框只是帶有右側浮動和一些其他格式的表格。

{| style="float:right;border:1px solid black" 
| My fantastic infobox 
|- 
| More info 
|} 

最佳做法,你應該包括你的信息框,在你的wiki的CSS類格式,並定義一個信息框template,而不是在每個頁面上創建單獨的表。

+0

這很好的表象的一面,但在內容方面一個也應該仔細考慮在哪裏存儲的實際數據。可能性包括標準維基文本/模板語法,SemanticMediaWiki,Wikibase。 – Nemo

1

要製作一個簡單而優雅而靈活的信息框,首先請確保已安裝。然後創建一個名爲「信息框」(或其他)與HTML下列組合wikitext的模板:

<div class="infobox"> 
<div class="infobox-title">{{{title|{{PAGENAME}}}}}</div>{{#if:{{{imagen|}}}| 
<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> 

替換「參數1」,「參數2」等,與你真正想要的參數的所有出現爲您的信息框,如「姓名」,「出生日期」等。如果您需要額外的參數,只需複製(複製粘貼)其中一個現有參數並對其進行修改。

然後去到MediaWiki:Common.css並添加一些造型:

.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; 
} 

最後,進入到需要的信息框,並複製下面的wikitext的維基頁面,名稱爲你」取代「信息框」已經提供給您的模板,「參數1」,「參數2」等你前面定義的參數:

{{Infobox 
|title = 
|image = 
|param1 = 
|param2 = 
|param3 = 
|param4 = 
|param5 = 
}} 

您可以放心地離開空或刪除您不使用任何參數,因爲它們都是可選的。如果沒有提供「標題」,信息框將默認爲頁面名稱,這通常是您想要的。

我不得不爲這無數客戶開發像這樣的信息框,並且我已經慢慢到達這個解決方案的最佳狀態。希望它能幫助別人!

適用於任何可能正在閱讀的高級用戶的PS:我建議使用HTML而不是wikitext來定義主表,因爲這樣可以避免與#ifs的管道發生衝突。在Wikipedia中,通過使用名爲{{!}}的模板插入管道,可以避免此衝突,但這會導致無法讀取的維基文本。

0

不知道多麼新鮮的@Sophivorus帖子 - 沒有日期,所以我認爲它是從2018年,如果不是 - 對不起。

我正在尋找一個教程,解釋討厭的infoboxes和他們的創作過程,沒有運氣。維基本身沒有幫助。 2,5晚上之後,我終於放棄了,並找到了Sophivorus的職位。它給了我一個暗示,也許用簡單的CSS創建HTML中的信息框是一個更好的廣告更容易的想法..我認爲Wiki必須將它的信息框轉換爲HTML,我沒有錯!:)我有一個很好的信息框,沒有學習wiki的scribunto-lua-srua-wikitext怪物以及HTML和CSS的許多知識。

我想一步一步分享像我這樣的傻瓜解決方案。

  1. 轉到您喜歡的信息框(在我的情況下,Formica fusca頁)的wikipage。
  2. 選擇信息框的全部內容,並右鍵單擊信息框頂部的標題。
  3. 選擇檢查元素(瀏覽器的命名可能不同 - 我使用Opera)
  4. 向右看(打開一個窗口)。
  5. 將光標移到右側窗口中的條目上方並尋找<table class"[..]標記。請注意,當您對
  6. 模糊不清時,整個信息框會突出顯示並右鍵單擊它並轉到複製,然後選擇複製outerHTML。
  7. 創建模板:在您的MediaWiki上創建模板:Examplename頁面,對其進行編輯並在其中放置複製的HTML代碼。如你所願編輯它。
  8. 正如Sophivorus所說,轉到MediaWiki:Common.css並添加一些樣式 - 您可以使用他/她提到的代碼。
  9. 造型。在HTML代碼中,將類添加到您希望通過CSS頁面進行樣式設置的元素(從步驟8開始)。您至少需要:1)給整個信息框(在這種情況下它將是<table class="infobox" bla bla bla>)2)標題/標題類信息框字幕(或其他; <th class="infobox-subtitle" bla bla>)3)給子標題一個類,如果你希望任何子(<td class="infobox-subtitle" bla bla>)。上述

    .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; 
    } 
    

提到

  • 複製CSS從這裏或者自己創建CSS代碼中使用的類在HTML: 在地方,你希望用戶添加的信息貼上{{{ somenamehere}}},然後創建一個..模板,你將不得不放置在其他頁面調用你Examplenamehere模板:

    {|Examplenamehere 
    |{{{somenamehere1}}} 
    |{{{somenamehere2}}} 
    |etc. etc. 
    |} 
    

    要PLAC e頁眉名稱爲:{{{nazwa|{{PAGENAME}}}}},而不是表格頂部的標題。

    如果你想檢查或複製我的模板,去這裏:http://wiki.mrowki.ovh/index.php?title=Szablon:Opis和檢查網頁

  • +0

    這是在帖子下面。 1月5日2018年。 – tripleee

    +0

    我只是有這個「回答1月5日23:26」。我想它取決於瀏覽器的樣式。 –

    相關問題