维基百科:模板自动参数模式

维基百科,自由的百科全书
跳转至: 导航搜索

模板自动参数模式實現自動模板調用的一種機制,自动產生相關參數,為維基所提倡,模板的使用者能夠因此免於輸入和記憶相關的參數,比如簽名、當時日期、複雜的參數。

原因[编辑]

有许多模板已廣泛應用在非Help:引用替換的方法下,這時模板的內部是不允許以引用替換方式嵌套調用其它模板或魔術字。這個模板就不能產生模板使用者的簽名或者使用時的日期等內容。

還有很多模板的參數過於複雜,輸入相關的參數費時費勁。

可以把該模板的常用參數用另一個應用引用替換方式的模板來產生對前一模板的自動調用來解決上述問題,後一模板稱為生成模板

做法[编辑]

對於模板X,它的生成模板應當取名為“X/auto”,命名統一有助于编辑者适应和掌握调用生成方法。

在模板X的<noinclude></noinclude>部分加上說明“[[Wikipedia:模板自动参数模式|本模板支持自動生成]]”。

在生成模板A/auto中放入類似如下的代碼:

{{X
|自動參數1
|自動參數1
……
|自動參數1
}}<!-- 本模板調用由 subst:X/auto 自動產生 -->

上术的自动参数根据模板X的要求填写,一些常用的自动参数可参看Help:魔术字。注意最後的隐藏说明是必要的,加入這一句可以使得其它人知道這個調用是如何產生的,也便於他們應用自動參數生成。

現在可以在頁面中用{{subst:X/auto}}的方式產生對X的自動調用了。

常用自动参数代码[编辑]

当时年月日

11月

Template:CURRNETDAY

签名
~~<includeonly>~</includeonly>
—~~<includeonly>~~</includeonly>
~~<includeonly>~</includeonly>~~

案例[编辑]

支持自動日期及簽名[编辑]

複雜參數[编辑]

Template:Go將產生一個圍棋譜,但它的參數十分繁雜,可以用{{subst:go/auto}}生產一個易於理解的調用,在這基礎上再做調整。

產生的代碼:

{{go|=
 19 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 18 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 17 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 16 |  |  |  |○|  |  |  |  |  |  |  |  |  |  |  |●|  |  |  |=
 15 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 14 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 13 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 12 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 11 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 10 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 9  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 8  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 7  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 6  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 5  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 4  |  |  |  |●|  |  |  |  |  |  |  |  |  |  |  |○|  |  |  |=
 3  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 2  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
 1  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |=
      a  b  c  d  e  f  g  h  j  k  l  m  n  o  p  q  r  s  t  
}}

参见[编辑]

  • {{dated}},如果只是为维护模板标记日期,可使用此模板完成,如{{subst:dated|substub}}。