我正在使用 $wgHooks 在我的 MediaWiki 网站的页面部分中插入一些 OpenGraph/元信息。
我目前可以添加站点范围的信息,例如站点名称。但是,我想将特定于页面的信息添加到部分。
如何从 LocalSettings.php 中访问页面的标题和 URL,以将其插入到 $wgHooks 中?
我搜索了 MediaWiki 帮助页面和论坛网站,但找不到任何有关如何从 LocalSettings.php 中访问页面特定信息的信息。我知道 LocalSettings.php 旨在用于站点范围的配置信息,但这是我将标签插入到 .php 文件中的方式。我已经阅读过有关创建扩展的信息,但我希望有一种更简单的方法......
这取决于你使用哪个钩子。如果是 OutputPageParserOutput,则挂钩函数接收
OutputPage $out
; OutputPage
类有getContext()
方法,返回IContextSource
,它有getTitle()
方法,返回Title
,它有一些有用的方法。
例如:
$wgHooks['OutputPageParserOutput'] = static function ( OutputPage $out, ParserOutput $parserOutput ): bool {
$title = $out->getContext()->getTitle();
if ( $title ) {
$page_title = $title->getText();
$page_url = $title->->getCanonicalURL();
}
// etc.
return true;
}