在很多年前使用MediaWiki的时候就发现DynamicPageList这个扩展,当时记录了文章《超强的MediaWiki扩展功能:DPL动态页面列表》,在一些Wiki网站中一直在使用这个扩展程序。
后来改用Drupal做为建站平台后,使用了Views模块来实现各自数据库查询,这个功能就比MediaWiki的DPL强大太多了,也不需要记什么语法,在Web方式菜单中选择、操作就可以实现各自列表功能。
Wiki的DPL需要查看手册中的各种命令,难以记住,所以各种命令功能也没有都尝试。以前在遇到列表结果很多的时候就限制一下,不知道还可以像Drupal的Views一样翻页。最近在修改一个Wiki站点的时候希望能够翻页,再次查阅首页并反复调试后终于是可以实现了,记录如下:
- DPL扩展在MediaWiki官方网站中的链接:DynamicPageList;
- DPL手册和示例链接:DPL:Manual 或者 老域名 、 archive.org存档;
- 翻页命令链接:#scroll;
- 详细解释:Scrolling;
- 举例:DPL Example 027;
我在查号吧网站中实现的页面例子:
- 举例:河南电信手机号段,可以设置筛选条件、显示模板、翻页参数设置等
- 辅助模板:Template:Extension_DPL_continue,用于提供翻页链接和数量显示
这样就可以在URL中带参数实现翻页了,例如:下一页。
注意LocalSettings.php中开启这个DPL模块的时候需要关闭其缓存功能才行:
require_once( "$IP/extensions_more/DynamicPageList/DynamicPageList.php" ); ExtDynamicPageList::$respectParserCache = false;//2017-9-5 change to false, for multi-page
否则翻页后显示的内容都是一样的。这个可能对数据库服务器造成一定压力,需要测试是否可行。不过总体来说,找到这个翻页功能太好了,很有用!
补充:这样修改后果然造成阿里云RDS负载太高,后来还是启用了DPL的Cache功能,而通过修改辅助模板,让翻页链接后面带上&action=purge就可以让这种新增加的页面清理缓存,从而让老的页面继续使用缓存,新的页面不用缓存,改善了数据库负载。
评论