samkitano/laragrowl

为 Laravel 提供的 jGrowl 弹窗通知

v1.0 2016-06-12 08:44 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:58 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

将 jGrowl 的所有优秀功能和功能简化,适用于您的 Laravel 项目。

jGrowl 是由 Stan Lemon 开发的一个“不干扰的 Web 应用通知系统”。如果您还不熟悉这个出色的通知系统,我鼓励您 访问它 并阅读文档。

我认为这个通知系统是“同类最佳”。文档详尽,维护良好,“不干扰”正如广告所言,轻量级,灵活,易于使用。由于我经常使用它,尤其是在我项目的管理员部分,我写了 Laragrowl 以方便将其包含在我的 Laravel 应用中。

Laragrowl 的主要目标不是充分利用 jGrowl 的功能,而是在 Laravel 中提供一个开箱即用、易于使用且一致的 notification 系统。

此外,利用 Laravel 使用别名进行门面(facade)的出色能力,您甚至可以将 Laragrowl “重命名为” NotifyInform。例如 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 许可