2011-04-28 70 views
0

我正在編寫一個wiki的模板文檔,並希望包含該模板的一個工作示例。但是,我編寫了模板來對各個字段進行自動分類,整個模板本身也是自動分類的。Mediawiki 1.16:模板文檔示例用法

這意味着,如果我只是在模板上調用,將分類的文檔頁面...因爲實際的模板頁面transcludes的文檔頁面,模板頁面也將被歸類。

有沒有辦法阻止這些類別自動踢入?

回答

1

像下面的東西應該做的伎倆。裹在你的模板中的分類的parserfunction內:

{{#ifeq: {{NAMESPACE}} | Help || [[Category:Some_Category]] }} 

此設置當模板transcluded到一個頁面,是不是在「幫助」命名空間中的類。

+0

命名空間檢查是一個好主意。我不知道我們可以如此輕鬆地做到這一點。 – MxyL 2011-04-29 13:06:30

1

另一種選擇是允許的參數如demo以避免包括的類別。

如果你不介意稍微有點隱蔽的,你可以做的模板{{{cat|[[Category:Some_Category]]}}}類別;那麼將參數指定爲{{my template|cat=}}將防止類別包含。

+0

雖然有效,但一般情況下,其他參數可能會讓普通用戶感到困惑(當然,除非我在模板中沒有提到它)! – MxyL 2011-04-29 13:06:14

0

我不知道如果我理解這個問題完全(什麼是「自動分類,各個領域」?)。我在這裏假設您要在文檔頁面上顯示一個「實際操作」的模板,而不附加某些類別(文檔頁面通常附加到使用此模板的文章的那些類別)到文檔頁面。

所以

<onlyinclude> [類別:Some_Category] ​​</onlyinclude >

不會做的工作 - 爲模板其實包括在內。對?

嘗試傳遞參數羣歸類=假到模板以指示分類並不是對在這種情況下被附接:

{{#ifeq:{{{歸類|}}} |假|| [[類別:Some_Category]]}}

「false」後面的雙重管道表示:if(categorize == false)then(empty),else [[Category:Some_Category]] - 即它是一個等效構造if( NOT(categorize == false))...

祝你好運,並感謝所有的魚, Achim