2016-07-29 8 views
0

Ich arbeite an einer Reihe komplexer MediaWiki-Vorlagen. Es ist vorgesehen, dass es eine "äußere Schicht" -Seite gibt, auf der grundlegende Editoren arbeiten können, wo sie einfach Parameterwerte und ergänzenden Text eingeben können. Diese wird an eine Interim-Vorlage weitergegeben, die alle Parameter auf die verschiedenen Vorlagen der 2. Ebene aufteilt, die die gesamte Datenorganisation und Seitenanzeige übernehmen. Es gibt ungefähr 250 Parameter, die möglicherweise übergeben werden können, obwohl wahrscheinlich nur 20 bis 25 von einer einzigen Hauptseite.Mediawiki Vorlagen: Wie bekomme ich eine Liste von Parameternamen?

Gibt es eine Möglichkeit, eine Liste zu erhalten, welche benannten Parameter an eine Vorlage übergeben werden? Anstatt einer riesigen Liste von {{#if {{{arg}} | arg = {{{arg}}}}} s, wäre es viel sauberer, nur solche Argumente zu behandeln, von denen bereits bekannt ist, dass sie existieren.

Antwort

0

Soweit ich weiß, ist dies nicht möglich. Denken Sie daran, dass die Vorlagen-Engine von MediaWiki KEINE Programmiersprache ist :)

Ohne den genauen Anwendungsfall zu kennen, können Sie Ihr Problem wahrscheinlich lösen, indem Sie Standardwerte definieren. Statt:

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

können Sie etwas tun:

{{{arg|default}}} 
0

Installieren Sie die Erweiterung Scribunto und schalten Sie die Vorlagen in einfache Wrapper, die ein Scribunto Modul aufrufen. Scribunto-Module sind Lua-Skripte und haben Zugriff auf alle Parameter, unabhängig davon, ob sie im Wikitext der Wrapper-Vorlage deklariert wurden oder nicht.

1

Wenn Sie die Erweiterung Semantic MediaWiki installieren, haben Sie viele Optionen zur Handhabung von Parametern (als semantische Eigenschaften). Die Erweiterung Semantic Result Formats bietet Ihnen noch mehr Möglichkeiten, Ergebnisse anzuzeigen.

Verwandte Themen