- 此扩展在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后端代码更新时修复问题,但是伺服器缓存不会更新。