milkyway-multimedia / ss-mwm-flashmessage
基于JS的Silverstripe闪存信息插件
dev-master / 0.3.x-dev
2016-07-08 17:52 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-14 19:09:27 UTC
README
使用时有一些特别之处,要添加特定区域的页面,必须在调用前添加要添加的区域。例如
singleton('message')->cms()->add('Yay! My pretty messages');
如果要添加更多,可以使用链式调用,但必须始终添加区域。
singleton('message')->cms()->info('Yay! My pretty messages')->cms()->error('A bad message');
- 添加全局消息
singleton('message')->add($content, $level, $timeout, $priority, $dismissable, $area)
- 通过数组添加全局消息(如果使用此方法可以添加id)
singleton('message')->add($params)
- Growl示例
singleton('message')->cms()->note('grrr...')
- 移除全局消息
singleton('message')->remove($content, $level, $area)
- 通过数组移除全局消息(如果使用此方法可以按id移除)
singleton('message')->remove($params)
- 在显示通知之前添加链接的调用(针对API调用)
singleton('message')->before($link)
- 强制加载特定区域的CSS & JS(针对基于API的消息)
singleton('message')->style($area)
可用区域
区域映射到控制器。以下区域可用
- cms: 将全局消息添加到CMS
- page: 将全局消息添加到任何页面
- form: 在表单请求期间添加全局消息
- global: 添加全局消息
默认使用cms区域。任何其他值都会将消息添加到任何控制器。因此,可以使用 ->global() 添加全局消息。
可用级别
- info
- success
- error
- warning
- modal: 显示消息模态框,这将尝试使用bootstrap模态框、jquery ui模态框、vex警报或javascript警报(按优先级排序)
- note: 显示growl通知,这将尝试使用Messenger、vex警报、CMS通知或javascript警报(按优先级排序)
阻断器
一旦通知被忽略,它将不会在当前会话中显示。要禁用此功能,必须将NullBlocker注入到Notifier类中,如下所示
Injector:
message:
constructor:
BlocksNotifications: '%$Milkyway\SS\FlashMessage\NullBlocker'
您可以创建自己的实现,但必须实现Milkyway\SS\FlashMessage\Contracts\BlocksNotifications
接口,并按上述方式注入。一个例子可以是Cookie阻断器,或者基于区域进行阻断的类。
工作原理
此消息系统基于javascript。只要它访问Silverstripe要求,它就应该在大多数控制器上工作。
安装
将以下内容添加到您的composer.json文件中
"require" : {
"milkyway-multimedia/ss-mwm-flashmessage": "dev-master"
}
许可证
- MIT
版本
- 版本 0.1 (Alpha)
联系
Mellisa Hankins
- E-mail: mellisa.hankins@me.com
- Twitter: @mi3ll
- 网站: mellimade.com.au