mwstake / mediawiki-component-alertbanners
提供显示页面内容上方横幅的API
2.0.5
2023-01-18 15:21 UTC
Requires
Requires (Dev)
README
MediaWiki的AlertBanners
提供显示页面内容上方横幅的API
此代码旨在在MediaWiki应用环境中执行。不打算独立使用。
在MediaWiki扩展中使用
将"mwstake/mediawiki-component-alertbanners": "~2.0"添加到您的composer.json文件的require部分。
从2.0版本开始,需要显式初始化。这可以通过以下方式实现:
- 在您的
extension.json/skin.json中添加"callback": "mwsInitComponents" - 或者在您扩展/skins的自定义
callback方法中调用mwsInitComponents();
也请参阅mwstake/mediawiki-componentloader。
实现一个提供者
创建一个实现MWStake\MediaWiki\Component\AlertBanners\IAlertProvider的类。为了方便,您可能希望直接从抽象基类MWStake\MediaWiki\Component\AlertBanners\AlertProviderBase派生。
注册一个提供者
有两种方式可以注册一个提供者
- 使用
mwsgAlertBannersProviderRegistry全局变量配置 - 使用钩子
MWStakeAlertBannersRegisterProviders
在两种情况下,都必须提供一个ObjectFactory规范。
示例1:全局变量
$GLOBALS['mwsgAlertProviderRegistry']['my-own-provider'] = [ 'class' => '\\MediaWiki\Extension\\MyExt\\MyAlertProvider', 'services' => 'MainConfig' ];
示例2:钩子处理器
$GLOBALS['wgHooks']['MWStakeAlertBannersRegisterProviders'][] = function( &$providers ) { $providers["my-own-provider"] = [ 'class' => '\\MediaWiki\Extension\\MyExt\\MyAlertProvider', 'services' => 'MainConfig' ] }
在客户端代码中使用
加载mwstake.component.alertbanners ResourceLoader模块。
可用方法
mwstake.alerts.add( id: string, $elem: jQuery, type: string ):注入一个警告框mwstake.alerts.remove( id: string ):删除一个警告框