- 此擴充功能在Fandom並未預設啟用,但可聯絡Fandom申請使用。
動態頁面列表(DPL,全名Dynamic Page List) 是一個有效的MediaWiki擴充功能,它讓你可以用不同的條件(如特定分類或包括特定模板)來建立頁面列表。
動態頁面列表一般用在展示特定分類中的頁面。
因為它的作用強大,DPL會增加伺服器的負荷,可能會明顯地讓使用它的wiki的頁面讀取速度變慢。因此,要使用它的話,強烈建議閱讀本文以下的有效地使用DPL段落。
動態頁面列表擴充功能需要線上申請才能啟用。
DPL的優點[]
- 根據不同的參數來建立動態頁面列表,可根據頁面標題、命名空間、分類、包括模板等不同的條件。
- 例如,你可以建立一個列表,是在其中兩個分類,但不在第三個分類的頁面。
- 可以包括頁面的一些訊息,例如最後編輯日期、最後編輯用戶等等。
- 可以用表格、分類以及其他列表形式來展示內容
- 在建立列表時可以在列表項目之間插入不同的自訂格式、樣式。
如何在一個頁面加入DPL[]
DPL的語法開始於<dpl>
標籤,結束於</dpl>
標籤,在兩個標籤中間,使用者可以放置許多的參數。
想要按自己的需求自訂,也可以使用{{#dpl: .... }}
這樣的代碼。
以下為基礎的DPL例子:
<DPL> category=角色 </DPL>
這樣就會產生一個包含所有「角色」分類中的頁面的列表。
這可以進一步地修改為:
<DPL> category=角色 notcategory=第1季角色 namespace=角色 mode=ordered </DPL>
這樣會顯示所有命名空間為「角色」,位於「角色」的分類,但不在「第1季角色」分類中的頁面列表。該列表會以HTML的<ol>(排序列表)的方式顯示,相對於預設的<ul>(列表)。
關於所有DPL參數的詳細介紹,可參見這裡.
有效地使用DPL[]
DPL可能會造成伺服器沉重的負擔,讓整個網站速度變慢,以下有幾個提示來面對這個問題:
首先,思考是否有必要使用DPL。如果只是因為它很「酷」就想使用它,你可以選擇其他很酷的功能來使用,像是投票、日曆、嵌入RSS feed、嵌入影片等等。
其次,如果你認定DPL的確是最適合的工具,那麼讓DPL缓存內容!只要將以下這行放入你的DPL中:
allowcachedresults=true
使用其他工具來達成DPL一般功能[]
- 建立簡單的分類列表
- 要建立簡單的分類列表,你可以使用 <categorytree> 標籤 (英文說明文檔)。例如,要獲得分類「中文說明」的頁面列表,使用以下代碼:
<categorytree mode="pages" hideroot=on>中文說明</categorytree>
- 隨機內容
- 使用隨機選擇擴充功能。(英文)
- 建立複雜的列表(例如分類間插入格式等等)
- 考慮使用機器人來確保列表的更新。機器人是幫助人們作出wiki編輯的電腦程式。你可以在 Wikipedia的建立機器人頁面(英文)了解關於建立機器人。
- 進階使用
要避免的事[]
不要把DPL用於:
- 「隨機數」(randomcount)功能 - 無法緩存
- 把DPL用在全站都在使用的模板上,這會造成整個wiki都出現背景的DPL要求
- 大量的查詢 - 如果顯示20個結果已經足夠,就不要讓它顯示500個。
- 在同一個頁面裡使用兩次以上的DPL。
可能會遇到的問題[]
- 如果你在DPL看到奇怪的顯示,試著將語法?action=purge(或是 &action=purge ,如果 ? 已經使用過)放到你的網址的後面再重新載入該網址。
- 這可以在DPL後端代碼更新時修復問題,但是伺服器緩存不會更新。