仅从 MediaWiki 中的子页面 url 获取页面名称
Posted
技术标签:
【中文标题】仅从 MediaWiki 中的子页面 url 获取页面名称【英文标题】:Get only the page name from a subpage url in MediaWiki 【发布时间】:2019-03-06 22:34:38 【问题描述】:我在 MediaWiki 中安装了 Lua 支持和 Module:String 模块,我试图只获取模板中链接的后半部分。
模板:图标
Icon|Icon.png|mypage/Mysubpage
将返回一个指向子页面的链接,同时只显示“Mysubpage”而不是完整的链接“mypage/mysubpage”
普通模板如下所示:
[[File:1|size|64px|link=2|2]]<br>#ifeq:#pos:lc:2||http|0|[2]|[[2]]
但现在我正在添加子页面,图标会在它们旁边显示完整的链接路径。
我尝试将 2 替换为:
#invoke:String|sub|2| #invoke:String|find|2|/|1+1 |#invoke:String|len|2
但它似乎不起作用。
我怎样才能做到这一点?
谢谢!
【问题讨论】:
呵呵刚刚在文档中发现#titleparts:
。无论如何谢谢:)
【参考方案1】:
如果您安装了ParserFunctions 扩展,#titleparts
魔术字可能会有所帮助。
docs 说:
此函数根据斜线将页面标题分成多个段,然后返回其中的一些段作为输出。
#titleparts: pagename | number of segments to return | first segment to return
如果不指定要返回的段数参数,则默认为“0”,即返回从第一个段开始返回的所有段(包括)。
…
两个值都接受负值...要返回的第一个段的负值转换为“从该段开始从右侧计数”:
#titleparts: Talk:Foo/bar/baz/quok | | -1
→quok
返回最后一段。
由于您只查找最后一段,因此您需要#titleparts: 2 | | -1
。无论模板是否在子页面上使用,这都会起作用。
【讨论】:
以上是关于仅从 MediaWiki 中的子页面 url 获取页面名称的主要内容,如果未能解决你的问题,请参考以下文章