2012-12-12 61 views
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,但没有成功。

有什么想法?

+0

这个要看'MyPlugin'标签是否被注册为解析器函数等等,我想。 – Nemo

回答

0

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

但是,希望扩展函数的签名拥有对或多或少是MediaWiki引擎的解析器对象的引用。

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

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

HIH