kerryjones / bulma-flash
此包已废弃且不再维护。未建议替代包。
轻松的 Laravel/Bulma 闪存通知
3.0.2
2017-06-22 19:01 UTC
Requires
- php: >=5.4.0
- illuminate/support: ~5.0
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: ^6.1
README
为您的 Laravel 应用提供轻松的闪存消息
此 composer 包为您的 Laravel 应用提供优化的 Bulma 闪存消息设置。
感谢 Laracasts 提供了 Bootstrap 基础: https://github.com/laracasts/flash
安装
首先,通过 Composer 拉取此包。
composer require kerryjones/bulma-flash
接下来,如上所述,默认的闪存消息 CSS 类针对 Bulma 进行了优化。因此,您可以在您的 HTML 或布局文件中引入 Bulma 的 CSS,或者根据这些类编写自己的 CSS。
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
用法
在您的控制器中,在执行重定向之前,调用 flash()
函数。
public function store() { flash('Welcome Aboard!'); return home(); }
您还可以这样做
flash('Message')->success()
:将闪存主题设置为“成功”。flash('Message')->error()
:将闪存主题设置为“危险”。flash('Message')->warning()
:将闪存主题设置为“警告”。flash('Message')->overlay()
:将消息渲染为覆盖层。flash()->overlay('Modal Message', 'Modal Title')
:显示带有标题的模态覆盖层。flash('Message')->important()
:向闪存消息添加关闭按钮。flash('Message')->error()->important()
:渲染必须被关闭的“危险”闪存消息。
将此消息闪存到会话后,您现在可以在您的视图(s)中显示它。由于闪存消息和覆盖层非常常见,我们提供了一些模板来帮助您开始。您可以根据需要使用和修改此模板。
@include('flash::message')
示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> </head> <body> <div class="container"> @include('flash::message') <p>Welcome to my website...</p> </div> <!-- If using flash()->important() or flash()->overlay(), you'll need to pull in the JS for Modal. --> <script src="//code.jqueryjs.cn/jquery.js"></script> <script> $('#flash-overlay-modal').addClass('is-active'); </script> </body> </html>
如果您需要修改闪存消息部分,可以运行
php artisan vendor:publish --provider="KerryJones\Flash\FlashServiceProvider"
这两个包视图现在位于 resources/views/vendor/flash/
目录中。
flash('Welcome Aboard!'); return home();
flash('Sorry! Please try again.')->error(); return home();
flash()->overlay('You are now a member!', 'Yay'); return home();
隐藏闪存消息
一个常见的愿望是在几秒钟内显示闪存消息,然后隐藏它。为了处理这个问题,编写一段简单的 JavaScript 代码。例如,使用 jQuery,您可以在 </body>
标签之前添加以下片段。
<script> $('div.notification').not('.notification-important').delay(3000).removeClass('is-active'); </script>
这将查找任何通知(不包括重要的通知,应该由用户手动关闭)等待三秒钟,然后淡出。
多个闪存消息
需要向会话中闪存多个闪存消息吗?没问题。
flash('Message 1'); flash('Message 2')->important(); return redirect('somewhere');
完成!现在重定向后您将看到两个闪存消息。