在很多年前使用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就可以讓這種新增加的頁面清理緩存,從而讓老的頁面繼續使用緩存,新的頁面不用緩存,改善了數據庫負載。
评论