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 )
:删除一个警告框