3

MediaWiki で、トランスクルージョンの深さを検出するためにテンプレート本文に含めることができる標準パターンはありますか?

具体的には、Template:Myinfobox に、深さ 1 のトランスクルージョンの場合は「ネイティブ myinfobox 呼び出し」を表示し、それ以外の場合は「トランスクルージョン コール」を表示するパターンが含まれているとします。

次に、ページ Mypage が {{Myinfobox}} を呼び出す場合、「native myinfobox call」と表示され、{{Mypage}} を呼び出すページは「transclusion call」と表示されます。

<noinclude>マイページの作成者が特別なマークアップやタグを挿入する必要がないようなパターンを知っている人はい<includeonly>ますか?

4

2 に答える 2

1

いいえ、そんなことはありません。ただし、展開の深さの制限と分岐に関するいくつかの邪悪なトリックと内部を学ぶことができます。

于 2015-04-29T20:21:24.307 に答える
1

ポインタをありがとう。私はこれらを認識していましたが、ここにあるのは良いことです。現在、私は次のトリックに頼っています (私の質問の用語を使用):home articleテンプレートのユーザーが Myinfobox 直接呼び出しをホストするページの名前に設定する必要があるパラメーターが Myinfobox にあります。したがって、マイページには次のようなものが含まれます。

{{ Myinfobox | … | home article = Mypage | … }}

Myinfobox テンプレートは、{{PAGENAME}}等しいかどうかをテスト{{{ home article }}}して、出力するメッセージを決定します。2 つの値が異なる場合は「transclusion」、そうでない場合は「native」です。

しかし、これは不器用であり、テンプレートのユーザーに負担がかかります。

于 2015-05-01T07:18:46.723 に答える