0

パラメータ付きのテンプレートurlがあります(これは正常に機能し、その値を出力できます)。

パラメータも受け取るプラグインがあります(これpathは、値をハードコーディングすると正常に機能します)。

テンプレートからプラグインに値を渡したいの{{{url}}}ですが、それができません。

これが私のテンプレートのコードです:

'''Source code: ''' <MyPlugin path="{{{url}}}" .../>

私のプラグインでは、$argsパラメーターの内容をダンプします。

function MyPluginRender( $input, $args, $parser )
{
    var_dump($args);
}

そしてそれは出力します:

array(2) {
  ["path"]=>
  string(9) "{{{url}}}"
  ...
}

実際、一部の場所では置換が無効になっているようです。このページhttp://en.wikipedia.org/wiki/Help:Template#Handling_parametersからいくつかのものを試しましたが、成功しませんでした。

何か案が?

4

1 に答える 1

0

{{{template-parameter}}}OK、エンジンを自動的に置き換えて拡張パラメータに渡すことはできないようです。

しかし、うまくいけば、拡張関数の署名は、多かれ少なかれMediaWikiエンジンであるParserオブジェクトへの参照を保持します。

次に、変数の内容を評価できます。

function MyPluginRender( $input, $args, $parser , $frame)
{
    $resolved =  $parser->recursiveTagParse( $args["template-parameter"], $frame );
    var_dump($resolved);
}

こんにちは

于 2012-12-12T12:36:03.320 に答える