2

別のテンプレートからパラメーターを継承するテンプレートを取得することは可能ですか? 質問を表現するより良い方法を思いつかないので、例を挙げさせてください。

2 つのテンプレートが{{test1}}あり、{{test2}}それが「テスト ページ」というページで使用されているとします。

テンプレート:テスト1:

{{{par1}}}<br>
{{{par2}}}<br>
{{test2}}
<!--{{test2|par3={{{par3}}}|par4={{{par4}}}}}-->

テンプレート:テスト 2:

{{{par3}}}<br>
{{{par4}}}<br>

テストページ:

{{test1|par1=aaa|par2=bbb|par3=ccc|par4=ddd}}

だから私がしたいのは、それを表示させることです:

aaa
bbb
ccc
ddd

これを行う通常の方法は、 でコメントアウトされている行を含めることですTemplate:Test1。ただし、パラメーターを自動的に渡すようにする方法はありますか? このありふれたものについては、明示的に言うことは問題ではありませんpar3={{{par3}}}が、テンプレートがはるかに複雑になると、非常に役立つ可能性があります. どんなヒントでも大歓迎です。

4

3 に答える 3

2

あなたが説明しようとしているのは、引数の転送です。いいえ、これは mediawiki テンプレートだけでは不可能です。

開発中の新しい Lua エンジン (Extension:Lua としてテスト可能、最終的にはコアの一部になることを目指しています) は、これを可能にしているようです。

于 2013-03-01T18:52:26.893 に答える
1

使用できます

{{test2|{{{arg1}}}={{{par1}}}|{{{arg2}}}={{{par2}}}}}

test1、それを次のように呼びます

{{test1|arg1=par1|arg2=par2|par1=foo|par2=bar}}

しかし、Luaを待つだけで、おそらくかなりの正気を保つことができます。(すでにいくつかの小さなウィキペディアに展開されており、3月にすべてに展開される予定なので、それほど長くはかかりません。)

于 2013-03-02T11:30:15.220 に答える
0

まず、パラメーターなしで Test2 を呼び出す Test1 テンプレートは意味がありません。{{test2}} (パラメーターなし) として呼び出しました。

ページグローバル変数が必要な場合は、Mediawiki 変数プラグインを使用することをお勧めします。 http://www.mediawiki.org/wiki/Extension:変数

さらに、{{{par1|}}} や {{{par2|None}}} などの垂直バーを使用してテンプレート パラメータを「デフォルト」にすることをお勧めします。それ以外の場合、パラメーターが指定されていない場合、結果のウィキテキストは中括弧付きのパラメーター名になります。例: {{{par1|}}} は、パラメーターが指定されていない場合は空白の文字列を返しますが、パラメーターが指定されていない場合、{{{par1}}} は実際には文字列として「{{{par1}}}」を生成します。 、これはおそらく役に立ちません。

変数を使用した私の例に戻って、あなたの例を適応させました (par1 は test1 テンプレートに入る引数、par2 は test2 テンプレートに入る引数です):

テンプレート test1 は次のようになります。

{{{par1|}}}<br/>
{{#vardefine: par2|{{{par2|}}} }}
{{test2}}

テンプレート test2 は次のようになります。

{{#var:par2}}<br/>
于 2015-02-13T21:26:11.280 に答える