2012-12-12 55 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