用MediaWiki在國内建網站用戶很少,用到擴展程序DPL動态頁面列表的就更少,還需要對列表标題進行修改的需求的除了我們可能就找不到了,今天和同事一起商議郵編庫網站新增一些頁面的時候就遇到這樣的需求,摸索了一下找到解決辦法,記錄如下:
我們在[[黑龍江省行政區劃]]這樣的頁面中使用動态頁面列表生成了下面這樣的下級地市列表:
但下屬地市使用了全稱看上去太長,要是能去掉“黑龍江省”隻保留後面的内容,而鍊接不變就好了。
我記憶中是有辦法的,需要在網上找文檔,我搜索了一下,找到很老以前就有的Extension_DPL文檔,在輸出控制的部分就找到一個命令:replaceintitle,在我們站的頁面模闆中修改DPL,增加帶有replaceintitle的一行:
* '''下屬城市:''' {{#dpl: | category = {{FULLPAGENAME}} | replaceintitle=/{{#var:province}}/, |count=500 }}
就可以把省份名字替換為空了,很方便,要進行其它類似替換都可以,文檔中說與php函數preg_replace的用法一樣,可以帶有正則表達式,那就更加強大了!💪
替換後的列表如下:
replaceintitle條件如果改為下面這樣:
| replaceintitle=/{{#var:province}}(.*)行政區劃/,$1
那麼替換後的列表就如下:
這個Dynamic Page Lister動态頁面列表與Drupal裡面的Views功能類似,也非常強大,隻是不是像Views使用菜單圖形界面選擇,而是采用代碼行的方式,難得記憶一些,有上百種控制命令,需要時總得查閱手冊。📑
盡管需要用到這種功能的中文站非常少,但我也花點時間把上面這做個記錄,避免自己遺忘,也說不定萬一有别人可以用得上就更好了。🤝😃
评论1
寫的不錯,學習了
寫的不錯,學習了