模板变量替换

时间:2012-12-12 10:34:20

标签: php mediawiki wiki mediawiki-templates

我有一个参数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尝试了几个东西,但没有成功。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,似乎无法让引擎自动替换{{{template-parameter}}}并将其传递给扩展参数。

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

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

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

HIH