2011-04-20 26 views
0

有沒有什麼辦法可以做到這一點。 我旁邊維基文本:模板轉換後的Mediawiki過程標籤

{{template_open_tag}} 
{{template_some_data}} 
{{template_close_tag}} 

而且有模板:

{{template_open_tag}}

<my-tag> 

{{template_some_data}}

bla-bla-bla... 

{{template_close_tag}}

</my-tag> 

但標籤 '<大膽>' 已經處理的時候第一個模板transluded和wiki使這個頁面,如:

bla-bla-bla... 
</my-tag> 

但我想看看:

**bla-bla-bla...** 

在我的擴展中:


$wgHooks['ParserFirstCallInit'][] = 'myTagInit'; 

function myTagInit(&$parser) { 
    $parser->setHook('my-tag', 'myTagRender'); 
} 

function myTagRender($input, $args, $parser, $frame) { 
    return "**".$input."**"; 
} 

謝謝。

P.S. 不要問我爲什麼,我需要這個奇怪的標記,並且不希望使用這樣的事:

{{template_tag|{{template_some_data}}}} 

而且{{template_open_tag}}這樣的:

<my-tag>{{{1}}}</my-tag> 
+0

讓我看看我是否正確答案:您是否想要{{template_some_data}}中的文本爲粗體? – Kovags 2011-04-21 08:52:00

+0

對我來說,這呈現爲 bla-bla-bla ... 2011-04-21 14:21:20

+0

由於在html中不起作用,它只是將代碼放在文檔中。 – 2011-04-21 14:21:52

回答

0

,而不是使用<bold>使用'''你都{{template_open_tag}}和{{template_close_tag}},它應該呈現爲喇嘛喇嘛喇嘛...

而且,你不能做:

{{template_open_tag}} 
{{template_some_data}} 
{{template_close_tag}} 

你要做

{{template_open_tag}}{{template_some_data}}{{template_close_tag}} 
+0

謝謝)但是當我說''時,我記住任何標籤。 – Yauhen 2011-04-21 18:35:07

+0

如果您將{{template_open_tag}} {{template_some_data}} {{template_close_tag}}換行不換行,它仍然不起作用? – 2011-04-21 19:48:40

+0

不,它仍然不起作用。我不想把它全部放在一行中,因爲如果我在這個模板之間插入多個模板,它是不可讀的:{{template_open_tag}} {{template_some_data1 | param1 | param2 | param3}} {{template_some_data2 | param1 | | param2 | param3}} {{template_some_data1 | param1 | param2 | param3}} {{template_some_data3 | param1}} {{template_close_tag}} – Yauhen 2011-04-22 09:10:49

1

設置$wgUseTidytrue以使MediaWiki功能後只有所有的模板已被評估除去未關閉的標籤。或者,您可以使用wikimarkup - 正如Adrian所說 - 它不受此限制。

更新: AFAIK XML風格的擴展標籤在包含模板之前進行評估,因此將它們從多個模板拼接在一起是不可能的。 (事件<ext>{{{1}}}</ext>在1.16之前不起作用,但您可以使用recursiveTagParse使其工作在1.16。)

+0

'$ wgUseTidy = true;'僅適用於HTML標記。但我需要讓mediawiki(而不是瀏覽器)只處理封閉標籤。爲了理解這一點,我們將''重命名爲''。 – Yauhen 2011-04-21 18:50:27

+0

問題已編輯。 – Yauhen 2011-04-21 19:08:50

2

爲了警告你 - 這種結構可能會在未來版本的MediaWiki中完全停止使用,這是因爲它的行爲不一致以及結構(如標籤和部分)帶來的困難。

做正確的和麪向未來的方式確實是同時包含起點和終點的一個模板,在傳遞中作爲一個參數,例如{達{template_tag | {{template_some_data}}}}

+0

我在搜索答案時暫時這樣做了。我發現這是一個更好的方法。也許你是對的,我會留在這個版本。謝謝。 – Yauhen 2011-04-24 08:12:20