微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何在MediaWiki中获取当前页面URL

我试图获取当前页面的URL并将其存储到我的自定义皮肤模板中的变量.我试图这样做,所以我可以将此URL用于其他目的.我想做这样的事情

function currentpageurl() //Some Custom function
{
    $url= [something that can get current page's url in mediawiki and store it to this variable]
    .....use the $url variable for other purposes....
    ......
    .....
}

Mediawiki是否有一种方法可以识别当前页面的URL,或者我是唯一一个使用此方法查找当前页面的选项?

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

解决方法:

如果您正在为皮肤编写QuickTemplate子类,则可以使用$this-> getSkin() – > getTitle()获取当前页面Title对象.

获得Title对象后,可以在其上调用getLinkURL()获取页面的URL. (您可能不希望使用getPrefixedURL(),因为Ilya建议,因为它只是为您提供页面名称的URL编码版本.)或者如果您想生成标准的wikilink样式链接,您可以将Title对象传递给Linker::link()而不必自己弄乱URL.

实际上,$this-getSkin()是从皮肤模板访问“请求全局”Mediawiki对象(如当前Title,WebRequest,User,Language,OutputPage等)的一般方法.具体来说,Skin类实现了IContextSource接口,该接口提供对所有这些对象的访问.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐