2016-07-29 7 views
0

私は一連の複雑なMediawikiテンプレートを作成しています。基本エディタを操作するための「外側レイヤー」ページがあり、パラメータ値と補足テキストだけを記入することができます。これは、暫定テンプレートに渡されます。暫定テンプレートは、すべてのデータ構成とページ表示を実際に処理するさまざまな第2レベルのテンプレートにすべてのパラメータをブレークアウトします。いずれのメインページからもわずか20〜25の可能性がありますが、潜在的に渡すことができる250のパラメータのようなものがあります。Mediawikiのテンプレート:パラメータ名のリストを取得するにはどうすればよいですか?

テンプレートに渡される名前付きパラメータのリストを取得する方法はありますか? {{#if {{{{}}}の巨大なリストではなく、 arg = {{{arg}}}}} sでは、既に存在することが知られている引数だけを処理する方がはるかにクリーンです。

答えて

0

私が知る限り、これは不可能です。 MediaWikiのテンプレートエンジンはプログラミング言語ではないことを覚えておいてください:)

正確なユースケースを知らなくても、おそらくデフォルト値を定義することで問題を解決できます。代わりに:

{{{arg|default}}} 
0

Scribunto拡張機能をインストールし、Scribuntoモジュールを呼び出す簡単なラッパーにあなたのテンプレートを回す:

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

あなたはこのような何かを行うことができます。 ScribuntoモジュールはLuaスクリプトであり、ラッパーテンプレートのwikitextで宣言されているかどうかにかかわらず、すべてのパラメータにアクセスできます。

1

セマンティックMediaWikiの拡張機能をインストールすると、セマンティックプロパティとしてパラメータを扱うためのオプションがたくさんあります。 Semantic Result Formatsの拡張により、結果の表示方法に関するさらに多くのオプションが提供されます。

関連する問題