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}}}并将其传递给扩展参数。

但是,希望扩展函数的签名包含对 Parser 对象的引用,该对象或多或少是 MediaWiki 引擎。

然后,您可以评估变量的内容:

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

HIH

于 2012-12-12T12:36:03.320 回答