社区中心
Advertisement
此擴充功能已在Fandom上預設啟用

CategoryTree(分類樹)是一個以樹的形式提供了wiki分類結構的動態視圖的擴充功能。它使用AJAX按需載入分類樹的結構。

用法

CategoryTree擁有三種用法:

  • 直接用在翻類頁面,
  • 用作「自定義標籤」(或稱「解析器函數」),內嵌在wiki頁面展示分類結構,
  • 以及用作特殊頁。

CategoryTree擴充功能將[+]或[×]“展開”小工具加入到分類頁面上列出的子分類,這裡[+]意味著存在更精細的子分類,而[×]意味著不存在。如果停用了JavaScript,那些小工具什麼用都沒有。

對於機器人使用者的注意事項:機器人和解析分類頁面HTML的指令碼可以使用URL參數notree強制結束傳統輸出。然而,HTML輸出通常是不穩定的,所以推薦您變更指令碼,使用query.phpapi.php擷取分類清單之類內容。

標籤<categorytree>

範例:

<categorytree mode="pages" style="float:right; 
clear:right; 
margin-left:1ex; 
border:1px solid rgba(105, 105, 105, 0.2); 
padding:0.7ex; 
background-color: rgba(105, 105, 105, 0.08);">檔案</categorytree>

這個自訂標籤稱為<categorytree>。例如,如果您將<categorytree>Foo</categorytree>放入一個wiki頁面,它會以動態樹狀目錄形式顯示Foo分類的目錄(請參看右側的範例)。該標籤接受下方的屬性,使用類似HTML的語法:

mode
決定樹狀分類中顯示那些頁面。使用namespaces選項可能會覆寫此選項。可用的值:
categories
僅顯示子分類(組態常數CT_MODE_CATEGORIES
pages
顯示子分類和頁面,不顯示圖片(組態常數CT_MODE_PAGES),限制在200個頁面以內
all
顯示所有頁面、子分類、圖片等等(組態常數CT_MODE_ALL
parents
列出母分類而非子分類(組態常數CT_MODE_PARENTS)。這會將CategoryTree置入「inverse」作業
depth
決定初始顯示多少層樹狀分類。預設值為1,0意味著只有根節點。最大值取決於指定的模式,以及$wgCategoryTreeMaxDepth選項。
hideroot
設定為"on"可以隱藏樹狀分類的「根」節點,也就是範例中Foo分類提及的。
hideprefix
決定命名空間前置詞何時應該從樹狀分類的項目中隱藏。可用的值為:
always
一律隱藏前置詞。只有所有頁面來自於同一個命名空間時應該使用。(組態常數CT_MODE_CT_HIDEPREFIX_ALWAYS
never
一律不隱藏命名空間前置詞,包括分類(組態常數CT_MODE_CT_HIDEPREFIX_NEVER
auto
隱藏分類的命名空間,如果顯示的只有分類,則與mode="categories"相同(組態常數CT_MODE_CT_HIDEPREFIX_AUTO
categories
一律隱藏分類的命名空間,顯示其他所有前置詞(組態常數CT_MODE_CT_HIDEPREFIX_CATEGORIES);這是預設的表現方式
showcount
設定為"on"可以顯示子分類中項目的數量,也就是showcount="on"。這個選項對於頁面內置的分類樹預設為停用,但是在分類清單與Special:CategoryTree(特殊:分類樹)中預設為啟用。
namespaces
來自哪些頁面之命名空間的清單應該於樹狀分類中顯示。清單中的項目必須是命名空間名稱,用空格分開。主命名空間可以用"-"或"0"表示。此選項會覆寫mode選項。
class、style、id等等
<categorytree>標籤支援所有適用於區塊元素的標準HTML屬性。

解析器函數{{#categorytree}}

您也可以使用「解析器函數」的語法在一個頁面中放置分類樹。這會像<categorytree>標籤一樣運作,只是使用不同的語法,例如,{{#categorytree:Foo}};可以使用命名模板參數的語法指定這些選項,例如,{{#categorytree:Foo|hideroot|mode=pages}}

使用解析器函數的語法的優勢是,指定要顯示的分類時,你可以使用魔術字模板與模板參數。範例:

  • 使用魔術變數顯示「此頁面」分類樹(可能在分類描述頁面有用):{{#categorytree:{{PAGENAME}}}}
  • 使用模板指定分類:{{#categorytree:{{root category}}}}-根分類的名稱可能會由Template:Root_category的內容定義。
  • 在模板內部使用CategoryTree時,使用模板參數指定分類:Template:Baz中的{{#categorytree:{{{1}}}}}可以使用{{Baz|Foo}}呼叫。

Special:CategoryTree(特殊:分類樹)頁面

該特殊頁面稱為Special:CategoryTree(特殊:分類樹);在那裏你可以輸入一個分類的名稱,瀏覽其內容。

參見

進一步的帮助與反馈

Advertisement