samkitano / laragrowl
为 Laravel 提供的 jGrowl 弹窗通知
Requires
- php: >=5.5.9
- illuminate/support: ~5
Requires (Dev)
- mockery/mockery: dev-master@dev
This package is not auto-updated.
Last update: 2024-09-14 19:36:58 UTC
README
将 jGrowl 的所有优秀功能和功能简化,适用于您的 Laravel 项目。
jGrowl 是由 Stan Lemon 开发的一个“不干扰的 Web 应用通知系统”。如果您还不熟悉这个出色的通知系统,我鼓励您 访问它 并阅读文档。
我认为这个通知系统是“同类最佳”。文档详尽,维护良好,“不干扰”正如广告所言,轻量级,灵活,易于使用。由于我经常使用它,尤其是在我项目的管理员部分,我写了 Laragrowl 以方便将其包含在我的 Laravel 应用中。
Laragrowl 的主要目标不是充分利用 jGrowl 的功能,而是在 Laravel 中提供一个开箱即用、易于使用且一致的 notification 系统。
此外,利用 Laravel 使用别名进行门面(facade)的出色能力,您甚至可以将 Laragrowl “重命名为” Notify 或 Inform。例如 Inform::error('验证失败');
。无论哪种方式都适合您的口味。
要求
-Laravel >= 5.2.X
-PHP >= 5.6
-jQuery >= 1.9.0
安装
1 - 使用 Composer 需要:composer require samkitano/laragrowl
2 - 在 config/app.php
中的 'providers' 数组中包含服务提供者。
'providers' => [ Kitano\Laragrowl\LaragrowlServiceProvider::class, ];
3 - 在 config/app.php
中向下滚动并添加您方便的别名(例如 'Notify')作为门面
'aliases' => [ 'Notify' => Kitano\Laragrowl\Laragrowl::class, ];
3 - 在这一点上,您必须决定是要 a) 下载 jGrowl;b) 使用 CDN;或者 c) 发布包含的 jGrowl 版本(1.4.5)
a) 下载 jGrowl,将文件复制到您方便的目录中,并将其包含到您的模板中
<!DOCTYPE html> <html> <head> ... <link href="path_to_your_downloaded_jGrowl_css_files" rel="stylesheet" type="text/css"/> ... </head> <body> ... <!-- Place jQuery Here --> <script src="path_to_your_downloaded_jGrowl_js_files"></script> ... </body> </html>
b) 使用 CDN
<!DOCTYPE html> <html> <head> ... <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css" /> <!-- Place Your Theme Here --> ... </head> <body> ... <!-- Place jQuery Here --> <script src="https//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js"></script> ... </body> </html>
如果您决定 下载 或使用 CDN,您将不得不为通知提供自己的样式。此包中包含一个基本主题,位于 src\assets\css\jquery.jgrowl.theme.css
。您可以自由使用它“原样使用”,或者将其作为模板以满足您的需求。
c) 发布包含的 jGrowl 版本
php artisan vendor:publish --provider="Kitano\Laragrowl\LaragrowlServiceProvider" --tag=assets
4 - 在您的母版模板的 <head>
部分中包含 CSS 文件,以及在 </body>
标签之前包含核心 jGrowl 脚本文件。
<!DOCTYPE html> <html> <head> <title>Laragrowl</title> <link href="{{ url('vendor/css/jquery.jgrowl.min.css') }}" rel="stylesheet" type="text/css"> <link href="{{ url('vendor/css/jquery.jgrowl.theme.min.css') }}" rel="stylesheet" type="text/css"> <head> <body> <script src="your.jquery.version.js"></script> <script src="{{ url('vendor/js/jquery.jgrowl.min.js') }}"></script> </body> </html>
5 - 发布消息视图
php artisan vendor:publish --provider="Kitano\Laragrowl\LaragrowlServiceProvider" --tag=views
6 - 在您的母版模板中 jGrowl <script>
标签之后包含视图
<body> <script src="your.jquery.version"></script> <script src="{{ url('vendor/js/jquery.jgrowl.min.js) }}"></script> @include('vendor.laragrowl.message') </body>
注意: jGrowl 是一个 jQuery 插件,所以您必须在 jGrowl 源加载之前确保 jQuery 已加载。
如果您熟悉 elixir,并且/或者您喜欢掌握自己的资产,您知道下一步该怎么做。
无论如何,您都可以修改提供的视图 resources\vendor\laragrowl\message.blade.php
以满足您的要求。
用法
在哪里? 在您通常会放置 Session::flash('重要消息');
的位置。
如何? 您可以使用门面 Laragrowl::message
或您提供的别名(如果有的话)
// Examples public function store() { ... // PICK YOUR FLAVOUR // With an Alias, like "Notify" Notify::message('Your stuff has been stored.', 'success'); // With the Facade Laragrowl::message('Your stuff has been stored', 'success'); // Using available methods to declare the message type Laragrowl::default('Your stuff has been stored'); Laragrowl::success('Your stuff has been stored'); Laragrowl::error('Your stuff was NOT stored'); Laragrowl::warning('Your form contains errors, check fields'); Laragrowl::info('You have a neww message'); ... }
方法
参数
许可
Laragrowl 是开源软件,许可协议为 MIT 许可。