2009-06-26 46 views
11

我不太確定MediaWiki中是否有這種可能。Transclude MediaWiki中的類別

我有幾個類別,每個類別包含幾頁。如果打開類別頁面,則會看到通常由以下三部分組成的類別的內容:

  1. 用戶定義的文本(可使用編輯鏈接進行編輯)。
  2. 附加到此類別的所有子類別。
  3. 附加到此類別的所有頁面。

我的目標是創建一個頁面,其中至少包含幾個類別的第3部分。一個頁面,顯示附加到我選擇的多個類別的所有頁面名稱,按其類別分組。

我的第一個方法是使用的MediaWiki標準transclude語法:

 
    Category A contains these pages: 
    {{:Category:A}} 
    Category B contains these pages: 
    {{:Category:B}} 
    Category C contains these pages: 
    {{:Category:C}} 
    ... 

不幸的是,一個類別的這隻transcluded部分#1:用戶定義的文本。頁面名稱列表丟失。

我的第二個想法是看看解析器的功能。也許有一些功能可以通過一個類別的頁面進行枚舉。但我沒有找到任何。

也許有一個鏈接到MediaWiki擴展有...

有沒有意識到這一個聰明的辦法?

回答

3

如果你想在搜索結果的顯示更多的控制,你可能想給Semantic Mediawiki一試。

語法看起來是這樣的:即使你不使用語義特性

Pages in Category A: 

{{#ask:[[Category:A]] 
|format=ul 
}} 

,您可以使用查詢機制來顯示基於類別的網頁上。

0

MediaWiki的擴展動態頁面列表http://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party))做到這一點很容易,生產的物品的項目符號列表中的類別:

Pages in Category A: 
<dpl> 
category=A 
</dpl> 

沒有像語義鏈接到MediaWiki一個重量級的解決方案。只需安裝即可。

DPL對於更強大的動態列表具有豐富的語法。例如,要生成3列的編號列表:

<dpl> 
category=A 
mode=ordered 
columns=3 
</dpl>