我正在爲小遊戲設置維基,並面臨有關模板的問題。具有可變數量參數的模板
組織維基:
這個遊戲有地區,這是由幾個層次。我的維基每個地區都有一個頁面,這個頁面包含每個關卡的縮圖,鏈接到關卡的頁面。
現在,我有這樣的事情對我的水平模板:
|-
| [[Image:{{{region_images}}} {{{level}}}.png|200px|link={{{region}}}/{{{level}}}]]
這就是它是如何在一個地區頁面中使用:
{| style="text-align: center;"
{{Level|region=My Region Name|region_images=My Region Filename|level=0}}
{{Level|region=My Region Name|region_images=My Region Filename|level=1}}
{{Level|region=My Region Name|region_images=My Region Filename|level=2}}
{{Level|region=My Region Name|region_images=My Region Filename|level=3}}
{{Level|region=My Region Name|region_images=My Region Filename|level=4}}
{{Level|region=My Region Name|region_images=My Region Filename|level=5}}
{{Level|region=My Region Name|region_images=My Region Filename|level=6}}
|}
區域和region_images將是相同的如果這個wiki支持文件名中的非UTF-8字符,但不幸的是它沒有。
主要問題:
所以,你可以看到,區域和region_images重複無處不在,所以我想我可以做一個模板來照顧它。
我在想東西,我可以用這樣的:
{{Region|name=My Region Name|region_images=My Region Filename
|0
|1
|2
|3
|4
|5
|6}}
,將產生在我前面的例子一樣級別的模板。但我對模板非常陌生,我不確定它是否可行。看來我需要一個在我的區域模板中可變長度的參數列表,但我找不到那樣的東西。如果它不存在,我該怎麼做?
補充問題:
其實,我簡化了一下情況,但在這場比賽中的水平可以鏈接到其他級別,所以我想表明它太在該地區的頁面。級別模板具有可選參數「prev」和「next」。如果使用了它們,則模板會在關卡的縮圖旁邊添加一個註釋。
如果可能的話(如果我的主要問題已經解決),我想保持這些可選參數,並能夠做這樣的事情:
{{Region|name=My Region Name|region_images=My Region Filename
|0
|1 |prev=Another region
|2 |next=Yet another region
|3
|4 |prev=Another region |next=Yet another region
|5
|6}}
很明顯,當我對每個級別一個級別模板,這很容易做到,但是對於這個區域模板,如果我的理解是正確的,我不能有多個「prev」或「next」參數。
在此先感謝您的幫助,如果有什麼不夠清楚的地方,請隨時提出任何問題!
我明白了。但在這種情況下,我必須在Region模板中硬編碼所有可能的關卡號碼,是嗎?即使如此,這似乎是一個很好的解決方案,謝謝! – maxdefolsch
是的,MediaWiki核心不支持循環播放參數。如果你想要這樣的東西,你可以使用[Scribunto](https://www.mediawiki.org/wiki/Extension:Scribunto)擴展名。 – Tgr