Extension:DynamicPageList (Wikimedia)/zh


 * 此扩展是由Wikimedia使用，別與和混淆. 

DynamicPageList擴展讓Wiki用戶建立頁面列表來列出一組分類中的頁面. 有關一般信息請見m:幫助:DPL.

起源
它最初是为了維基新聞开发的. 目前，维基新闻的大多数语言-{A|zh:项目;zh-hans:项目;zh-hant:專案;}-（詳见n:Wikinews:DynamicPageList）、Meta、MediaWiki.org 和其他一些小型项目都已有安装. 由于性能问题，它不会再安装到任何维基媒体的wiki上.

此扩展以前称为DynamicPageList/old，后来称为Intersection. 您可能还会对拥有更多功能的感兴趣.



配置
该扩展还支持几个配置变量. 通常情况下，你不会想更改默认值，但如果你想更改，可以在require_once行之后将它们添加到 "LocalSettings.php "中. 以下是支持的配置变量及其默认值：

使用
DynamicPageList 可在维基的编辑視窗中使用XML相似的语法. 参数控制了要列表的页面、顺序和显示模式. 有关各個参数的信息，请参阅以下章节. 例如，以下是本维基中最近移至 MediaWiki.org 的最古老的五个页面.

 category            = Pages recently transferred from Meta count               = 5 order               = ascending addfirstcategorydate = true 

一个非常复杂的 DynamicPageList 示例：

 category=foo count=20 namespace=file addfirstcategorydate=ymd imagewidth=70 galleryshowfilesize=yes galleryshowfilename=yes imagesperrow=7 gallerycaption=Galleries! ordermethod=sortkey order=ascending mode=gallery offset=12 

它列出了文件名空间中属于foo类别的第12页至第31页，将其格式化为图片库，并在标题中以年月日的格式标明添加到foo类别的日期、使其图片的宽度为70px



category
category列出要交集的分類. DynamicPageList將會列出在每一個分類都能找到的頁面，要列出的最小和最大頁面數在擴展源代碼中被設定，你可以在分類名稱中使用魔術字，例如 August.

語法為

 category = Demo category = Demo 1 

notcategory
notcategory可以限制頁面列表不在特定分類中，你可以在分類名稱中使用魔術字，例如 August.

 category   = Demo notcategory = Demo 1 

namespace
namespace將上面指定的頁面列表限制在特定命名空間中，使用名稱或編號指定（請參閱預設命名空間列表）. 任何無效名稱將等效於主條目命名空間.

 category = Demo namespace = Help 

redirects
redirects決定是否包含重定向頁面. 该值可以是exclude（默认值，不列出重定向）、include（列出重定向）或only（不列出非重定向页面）.

 category = Demo redirects = only 

stablepages
stablepages决定了在使用时是否包含稳定（已标记）页面. 該值可以是 exclude（不列出）、include（列出稳定和非稳定页面. 是默认值）或only（只列出稳定页面）. 需要安装FlaggedRevs才能使用.

qualitypages
qualitypages决定了在使用时是否包含高质量（已标记為'纯净'等級）页面. 該值可以是exclude（不列出）、include（列出高质量和非高质量）或only（只列出高质量页面）.

注意：与旧版本相比，qualitypages 的行为有些变化. 在旧版本中，qualitypages=exclude 会自动设置为 stablepages=only. 现在已不再如此.

count
count限制顯示的結果數. 預設情況下會顯示最近添加到分類的頁面（請參閱排序）. 請注意，該擴展不會列出比擴展源代碼中所定義的最大值更多的結果.

 category = Demo count   = 2 

offset
offset从列表第一页以外的某個地方开始列表. 例如，可以用count制作多栏佈局.

 category = Demo offset   = 2 </DynamicPageList>

示例欄

<span id="Details_displayed">

shownamespace
shownamespace在頁面名稱中顯示命名空間. 此值可以是（是預設，會顯示在名稱中：）、或（不會顯示在名稱中：）.

 category     = Demo shownamespace = false </DynamicPageList>

addfirstcategorydate
addfirstcategorydate顯示每個頁面加入分類的日期. 此值可以是「true」（顯示日期）、「false」（預設，不顯示日期）或日期指示浮（ymd、md、dm、dmy、mdy或ISO 8601）. 如果指定了多個分類，則使用第一個分類. 在頁面名稱前方顯示的日期格式由您本地的MediaWiki日期格式偏好決定.

 category            = Demo addfirstcategorydate = true </DynamicPageList>

mode
mode決定了列表的格式，此值可以是：
 * unordered — 項目符號列表
 * ordered — 編號列表
 * none — 帶有換行的純連結
 * gallery — 圖庫，就像是
 * inline — 逗號分隔列表

unordered:  category = Demo mode    = unordered </DynamicPageList>

編號：

 category = Demo mode    = ordered </DynamicPageList>

純連結：

 category = Demo mode    = none </DynamicPageList>

逗號分隔：

 category = Demo mode    = inline </DynamicPageList>

mode=gallery
图库是一种特殊模式，其输出是一个图像图库. 如果安装了，那么非文件页面将使用页面图像（如果存在的話）. 否则，非文件命名空间的页面将只是一片空白.

 category = Demo mode    = gallery namespace= file </DynamicPageList>

图库模式还支持选项imagewidth（图库中图片的宽度，如果你使用该选项，还需要设置 imageheight）、imageheight（图片的高度）、galleryshowfilesize（显示图片大小，就像在分类页面上一样）、galleryshowfilename（显示文件名，就像在分类页面上一样）、imagesperrow（图库中每行的图片数量）、gallerycaption（图库的标题）等选项.

如果使用 addfirstcategorydate，日期会附加到图片标题中.

请注意，图库标题目前无法接受链接. (但它可以接受类似 August 这样的链接).

一个复杂的图库例子可能是

 count=20 namespace=file addfirstcategorydate=ymd imagewidth=70 galleryshowfilesize=yes galleryshowfilename=yes imagesperrow=7 gallerycaption=Look at my pretty gallery. mode=gallery shownamespace=false </DynamicPageList>

suppresserrors
suppresserrors用以隱藏錯誤. 此值可以為「true」（隱藏錯誤）或「false」（預設，顯示錯誤）.

true:  category      = Dem suppresserrors = true </DynamicPageList>

false:  category      = Dem suppresserrors = false </DynamicPageList>

nofollow
nofollow设置 到各個链接. 这样可以防止网络爬虫通过 DynamicPageList 中的链接进入页面. 一般来说，这是没有用的，因为网络爬虫要么能通过其他链接索引该页面，要么由于 robots.txt/ 的原因根本无法索引. 一般来说，除非你知道自己在做什么，并有充分的理由，否则不应使用此选项. 主要的使用案例是，在英文维基新闻中，谷歌新闻认为从主页链接的任何内容都是一篇文章.

 category      = Demo nofollow      = true </DynamicPageList>

googlehack
这是针对维基新闻的黑客技术. 以前，谷歌新闻只将带有数字的文章视为新闻文章，因此这个选项会在列表中的网址末尾添加 ?dpl_id=&lt;id of article&gt;. 除非你有充分的理由，否则不应该使用这个选项（不过它也不会有什么坏处）. 该选项取代了不再受支持的 showcurid 选项.

 category      = Demo googlehack      = true </DynamicPageList>

ordermethod
ordermethod指定排序及顯示日期，此值可以是：


 * categoryadd — 預設，以頁面加入第一個分類的日期排序
 * lastedit — 以頁面最後編輯時間排序
 * length — 以頁面長度排序
 * created — 以頁面建立時間排序
 * categorysortkey — 基本上按照第一個分類的排序字以字母順序排序
 * sortkey — categorysortkey的別名

需要注意的是，lastedit 的真正排序取决于页面最后一次被触及的时间. 在某些情况下，这并不等同于最后一次编辑（例如，这包括权限的更改、链接页面的创建或删除、以及被包含模板的更改）. 如果不指定类别，某些排序方法将不起作用&mdash;特别是，如果没有 段落，categoryadd和 categorysortkey将退回到created.

 category            = Demo addfirstcategorydate = true ordermethod         = lastedit </DynamicPageList>

按字母順序範例：

 category            = Demo ordermethod         = sortkey </DynamicPageList>

order
order決定排序方向. 該值可以是descending（是默认值，从最新到最旧）或ascending（从最旧到最新）.

 category = Demo order    = ascending </DynamicPageList>

模板
要在模板内使用并传递参数、使用解析器函式等，请使用 函式：

模板页面本身会显示错误信息，因为模板页面上的类别值是空的，除非您将模板放在标记内. 示例

<span id="Derived_extensions">

衍生扩展

 * Derived extensions: outputs in forum style.  is like this but outputs an RSS feed.  is a modified version with more features, but also more resource-expensive. Neither of the latter is used on Wikimedia's sites.
 * Version 1.8.4 of is fully downward compatible with the extension described here. So the way is open for a re-unification of the different development paths. This is not true any more for the current versions since version 2.01 of DynamicPageList (third-party) does not support.
 * - makes dynamic page lists available to modules.