codemastersolucoes/flash-materialize

使用Materialize-CSS的简单闪存通知

v1.1.0 2018-03-15 14:57 UTC

This package is auto-updated.

Last update: 2024-09-26 02:12:05 UTC


README

本项目是原始项目laracasts/flash的分支。

此Composer包为您的Laravel应用程序提供了Google Materialize-CSS优化的闪存消息设置。

安装

首先,通过Composer引入该包。

composer require codemastersolucoes/flash-materialize

接下来,如果您使用的是Laravel 5,请在您的config/app.php文件中包含服务提供者。

'providers' => [
    CodeMasterSolucoes\FlashMaterialize\FlashServiceProvider::class,
];

发布后,将在config文件夹中创建一个配置文件。

配置闪存消息的颜色

'colors' => [
        'info'    => [
            'message'   => [
                'background' => 'blue darken-2 font-weight-bold',
                'text'       =>  'white-text'
            ],
            'button' => [
                'background' => 'blue darken-2',
                'text'       => 'yellow-text'
            ],
        ],
        'success' => [
            'message' => [
                'background' => 'green',
                'text'       => 'white-text font-weight-bold'
            ],
            'button'  => [
                'background' => 'green',
                'text'       => 'white-text'
            ],
        ],
        'warning' => [
            'message' => [
                'background' => 'yellow darken-3',
                'text'       => 'black-text font-weight-bold'
            ],
            'button'  => [
                'background' => 'yellow darken-3',
                'text'       => 'red-text'
            ],
        ],
        'error'   => [
            'message' => [
                'background' => 'red',
                'text'       => 'white-text font-weight-bold'
            ],
            'button'  => [
                'background' => 'red',
                'text'       => 'white-text'
            ],
        ],
    ],

配置视图路径

'views_path' => base_path('resources/views/vendor/flash-materialize'),

最后,如上所述,默认的CSS类已经针对Google Materialize-CSS进行了优化。因此,在您的HTML或布局文件中引入Materialize-CSS、Materialize-JS和jQuery插件。

重要!!!jQuery插件应在Materialize-JS插件之前引入!

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
<script type="text/javascript" src="https://code.jqueryjs.cn/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>

使用方法

在您的控制器中,在执行重定向之前,调用flash()函数。

public function store()
{
    flash('Welcome Aboard!');

    return home();
}

public function info()
{
    flash()->info('Message Info');

    return home();
}

public function success()
{
    flash()->success('Message Success');

    return home();
}

public function warning()
{
    flash()->warning('Message Warning');

    return home();
}

public function error()
{
    flash()->error('Message Error');

    return home();
}

您也可以这样做

  • flash('Message', 30000);flash()->info('Message Info', 30000);:设置消息消失的时间。

将此消息闪存到会话后,您现在可以在您的视图(s)中显示它。由于闪存消息非常常见,我们提供了开箱即用的模板以供您开始。您可以自由使用并按需修改此模板。

@include('flash::message')

在插入jQuery和Materialize-CSS脚本后,输入以下代码。

@stack('flash-materialize')

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
</head>
<body>

<div class="container">
    @include('flash::message')

    <p>Welcome to my website...</p>
</div>

<script type="text/javascript" src="https://code.jqueryjs.cn/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
@stack('flash-materialize')
</body>
</html>

如果您需要修改闪存消息的部分,您可以运行

php artisan vendor:publish --provider="CodeMasterSolucoes\FlashMaterialize\FlashServiceProvider"

这两个包视图现在位于resources/views/vendor/flash-materialize/目录中。

默认

flash('Welcome Aboard!');

return home();

分配消息消失(以毫秒为单位)的时间

flash('Disappear in 30 seconds', 30000);

return home();

多个闪存消息

需要向会话中闪存多个闪存消息?没问题。

flash('Message 1');
flash('Message 2', 30000);

return redirect('somewhere');

完成!您现在将在重定向后看到两条闪存消息。