Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 模板变量替换_Php_Mediawiki_Wiki_Mediawiki Templates - Fatal编程技术网

Php 模板变量替换

Php 模板变量替换,php,mediawiki,wiki,mediawiki-templates,Php,Mediawiki,Wiki,Mediawiki Templates,我有一个模板,带有一个参数url(这很好,我可以输出它的值) 我有一个插件,它还接受一个参数路径(当我硬编码该值时,它可以正常工作) 我想将{{{{url}}}值从模板传递到我的插件,但我无法实现 以下是我的模板的代码: '''Source code: ''' <MyPlugin path="{{{url}}}" .../> 它输出: array(2) { ["path"]=> string(9) "{{{url}}}" ... } 事实上,在某些地方,替代似乎

我有一个模板,带有一个参数
url
(这很好,我可以输出它的值)

我有一个插件,它还接受一个参数
路径
(当我硬编码该值时,它可以正常工作)

我想将
{{{{url}}}
值从模板传递到我的插件,但我无法实现

以下是我的模板的代码:

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

array(2) {
  ["path"]=>
  string(9) "{{{url}}}"
  ...
}
事实上,在某些地方,替代似乎是无效的。我尝试了这个页面上的一些东西,但没有成功


有什么想法吗?

好的,看来引擎不可能自动替换
{{{{{template parameter}}}
并将其传递给扩展参数

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

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

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

HIH

我认为这取决于
MyPlugin
标记是否注册为解析器函数等等。
function MyPluginRender( $input, $args, $parser , $frame)
{
    $resolved =  $parser->recursiveTagParse( $args["template-parameter"], $frame );
    var_dump($resolved);
}