2016-07-29 68 views
0

我正在處理一組複雜的Mediawiki模板。它的目的是讓基本編輯人員有一個「外層」頁面,他們可以在其中填寫參數值和補充文本。這被傳遞到臨時模板,該模板將所有參數分解到實際處理所有數據組織和頁面顯示的各種不同的二級模板。有250個參數可能會被傳遞,儘管可能在任何一個主頁中只有20到25個參數。Mediawiki模板:如何獲取參數名稱列表?

有沒有一種方法可以獲得傳遞給模板的命名參數列表?而不是{{#if {{{arg}} |的巨大列表arg = {{{arg}}}}} s,只處理那些已知存在的參數會更清晰。

回答

0

據我所知,這是不可能的。請記住,MediaWiki的模板引擎不是一種編程語言:)

但是,不知道確切的用例,您可能可以通過定義默認值來解決您的問題。相反的:

{{#if {{{arg}}} | {{{arg}}} | default }} 

你可以做這樣的事情:

{{{arg|default}}} 
0

安裝Scribunto擴展,把你的模板成調用Scribunto模塊簡單包裝。 Scribunto模塊是Lua腳本,可以訪問所有參數,無論它們是否已在包裝模板的wiki文本中聲明。

1

如果您安裝了擴展Semantic MediaWiki,您將在處理參數(作爲語義屬性)上有很多選項。擴展語義結果格式爲您提供了更多關於如何顯示結果的選項。