2011-03-14 18 views
1

我已閱讀了關於創建模板的mediawiki網站上的一堆信息。我也實現了我自己的模板。我唯一的問題是,我有一個模板,它有一個信息框。每當我向信息框中添加一個新項目時,我都希望它反映在所有包含該模板的頁面上,無論我是否在使用該模板的頁面中都對其進行了抗辯。我需要它有一個默認值。因此,基本上,當我向信息框添加內容時,每個使用此模板的頁面都會自動在信息框中將其視爲「默認」,直到它們插入自己的值爲止。這是可能的,還是這是mediawiki上的模板不會?MediaWiki:Infobox添加到模板時的值

我的主要問題是:你如何包含一個mediawiki模板並讓它顯示一切,包括未定義的變量?例如,如果將新數據添加到模板中,但尚未「填充」,這將成爲一個有用的指示器,這表示數據需要插入。

UPDATE 2011/10/14 @ 3:30 PM CST:
下面是實際的模板(模板稱爲:EmployeeInfo):

{{Infobox 
    |name   = {{{name}}} 
    |title  = {{{title}}} 
}} 

我包括它(路線頁面被稱爲「員工德魯「):

{{EmployeeInfo 
    |name   = Drew 
    |title  = My Title 
}} 

現在......如果我要的東西添加到模板中,例如,現在的模板是什麼樣子的:

{{Infobox 
    |name   = {{{name}}} 
    |title  = {{{title}}} 
    |education = {{{education}}} 
}} 

即使頁面「Employee Drew」(和其他頁面)只定義了名稱和標題變量,我如何獲取包含Template:EmployeeInfo的每個頁面以包含「education」部分?

回答

3

我認爲您的Template:Infobox正在測試變量是否爲空而不顯示該字段?最簡單的方法是隻指定在你的模板教育變量的默認值:EmployeeInfo:

{{Infobox 
    |name   = {{{name}}} 
    |title  = {{{title}}} 
    |education = {{{education|default value}}} 
}} 
+0

不知道這是可能的事情,而不必安裝一個擴展做。涼!我投你一票 – Kovags 2011-03-15 09:18:17

+0

我最終發現,如果你只是不包含變量,它不會出現在任何地方,這是我最終想要的,但是,我在你的文章中學到了一些東西,所以我是去選擇這個答案。 – drewrockshard 2011-04-13 04:02:17

1

您可以使用ParserFunctions extension來測試{{{education}}}變量是否爲空,並填充信息框(如果有的話)。

{{Infobox 
    |name   = {{{name}}} 
    |title  = {{{title}}} 
    |education = {{#if: {{{education}}} | {{{education}}} | N/A}} 
}}