社区中心
Advertisement
此扩展在Fandom并未预设启用,但可联系Fandom申请使用。

动态页面列表DPL,全名Dynamic Page List) 是一个有效的MediaWiki扩展,它让你可以用不同的条件(如特定分类或包括特定模板)来建立页面列表。

动态页面列表一般用在展示特定分类中的页面。

因为它的作用强大,DPL会增加伺服器的负荷,可能会明显地让使用它的wiki的页面读取速度变慢。因此,要使用它的话,强烈建议阅读本文以下的有效地使用DPL段落。

动态页面列表扩展需要在线申请才能启用。

DPL的优点[]

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>
随机内容
建立复杂的列表(例如分类间插入格式等等)
高级使用
  • 关于更多高级用途,请先确定没有其他专门的扩展可以使用之后,再选择使用DPL,例如使用日历扩展而不是用DPL来建立日历。如果你不确定或没找到你需要的扩展,请联络我们,我们会很乐意提供协助。

要避免的事[]

不要把DPL用于:

  • “随机数”(randomcount)功能 - 无法缓存
  • 把DPL用在全站都在使用的模板上,这会造成整个wiki都出现背景的DPL要求
  • 大量的查询 - 如果显示20个结果已经足够,就不要让它显示500个。
  • 在同一个页面里使用两次以上的DPL。

可能会遇到的问题[]

  • 如果你在DPL看到奇怪的显示,试著将语法?action=purge(或是 &action=purge ,如果 ? 已经使用过)放到你的网址的后面再重新加载该网址。
    • 这可以在DPL后端代码更新时修复问题,但是伺服器缓存不会更新。
Advertisement