用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
写的不错,学习了
写的不错,学习了