2012-12-12 2 views
0

템플릿의 매개 변수가 url 인 경우 (이 값은 유효하지만 값을 출력 할 수 있음).템플릿 변수 대체

나는 매개 변수를 사용하는입니다 (이 값은 하드 코딩 할 때 유용합니다).

템플릿에서 {{{url}}} 값을 내 플러그인으로 전달하고 싶습니다. 그러나이를 수행 할 수 없습니다. 나는 $ 인수 매개 변수의 내용을 덤프 내 플러그인에서

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

: 여기

은 내 템플릿의 코드

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 엔진 인 Parser 객체에 대한 참조를 보유하고 있기를 바랍니다.

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

HIH