模板自動參數模式實現自動模板呼叫的一種機制,自動產生相關參數,模板的用戶能夠因此免於輸入和記憶相關的參數,比如簽名、當時日期、複雜的參數。
原因
有許多模板已廣泛應用在非替換引用的方法下,這時模板的內部是不允許以替換引用方式巢狀呼叫其它模板或魔術字。這個模板就不能產生模板用戶的簽名或者使用時的日期等內容。
還有很多模板的參數過於複雜,輸入相關的參數費時費勁。
可以把該模板的常用參數用另一個應用替換引用方式的模板來產生對前一模板的自動呼叫來解決上述問題,後一模板稱為生成模板。
做法
關於模板{{X}}
,它的生成模板應當取名為{{X/auto}}
,命名統一有助於編輯者適應和掌握呼叫生成方法。
{{X/auto}}
請記得加入<noinclude>{{AutoTemplateDoc}}</noinclude>
在{{X}}
的<noinclude></noinclude>
部分加上說明「[[Help:模板自動參數模式|本模板支持自動生成]]
」。
在生成模板{{X/auto}}
中放入類似{{X|自動參數1|自動參數2|...}}
的代碼,其中的自動參數根據{{X}}
的要求填寫,如此就可以在頁面中使用{{X/auto}}
的方式產生對{{X}}
的自動呼叫了。常用的自動參數可以參見魔術字。
自動參數代碼範例
當時年月日
{{<includeonly>subst:</includeonly>CURRENTMONTHNAME}}
{{<includeonly>subst:</includeonly>CURRNETDAY}}日
簽名
<includeonly>~</includeonly><includeonly>~~</includeonly>
--<includeonly>~~</includeonly><includeonly>~~</includeonly>
<includeonly>~~</includeonly><includeonly>~~~</includeonly>
案例
支持自動日期及簽名
- Template:Substub:用
{{subst:Substub/auto}}
產生{{Substub|time={{subst:#time:c}}}}
。 - Template:Copyvio:用
{{subst:Copyvio/auto|url=來源}}
產生{{Copyvio|url=来源|sign=~~~~|date={{subst:#time:n月j日}}}}
。