您在這裡

MediaWiki的DPL(DynamicPageList)擴展實現動态頁面列表翻頁

James Qi 在 2017年9月5日 - 12:25 發表

  在很多年前使用MediaWiki的時候就發現DynamicPageList這個擴展,當時記錄了文章《超強的MediaWiki擴展功能:DPL動态頁面列表》,在一些Wiki網站中一直在使用這個擴展程序。

  後來改用Drupal做為建站平台後,使用了Views模塊來實現各自數據庫查詢,這個功能就比MediaWiki的DPL強大太多了,也不需要記什麼語法,在Web方式菜單中選擇、操作就可以實現各自列表功能。

  Wiki的DPL需要查看手冊中的各種命令,難以記住,所以各種命令功能也沒有都嘗試。以前在遇到列表結果很多的時候就限制一下,不知道還可以像Drupal的Views一樣翻頁。最近在修改一個Wiki站點的時候希望能夠翻頁,再次查閱首頁并反複調試後終于是可以實現了,記錄如下:

  我在查号吧網站中實現的頁面例子:

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

發表新回應

Plain text

  • 不允許使用 HTML 標籤。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。