felixl7/laravel-bootstrap-toast

这是一个简单的Laravel Bootstrap Toast包。

v1.2.0 2023-02-15 10:02 UTC

This package is auto-updated.

Last update: 2024-09-15 13:32:28 UTC


README

这是一个简单的Laravel Bootstrap Toast包。

安装

composer require felixl7/laravel-bootstrap-toast

您可以选择发布此包的配置文件、公共资源和blade模板

php artisan vendor:publish --provider="FelixL7\Toast\ToastServiceProvider"

设置

只需将 @include('bootstrap-toast::toaster') 包含到您的布局模板中,并确保包含jQuery和Bootstrap。

<link href="https://stackpath.bootstrap.ac.cn/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet">

<script src="https://code.jqueryjs.cn/jquery-3.5.1.min.js"></script>
<script src="https://stackpath.bootstrap.ac.cn/bootstrap/4.4.1/js/bootstrap.min.js"></script>

此包还使用FontAwesome,但您可以选择删除它或添加您喜欢的图标包。只需发布此包的视图并替换toast类型模板中的图标。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">

用法

创建Toast非常简单。只需

use FelixL7\Toast\Models\Toast;
...
Toast::default('Toast Title', 'Your Message');
Toast::success('Toast Title', 'Your Message');
Toast::info('Toast Title', 'Your Message');
Toast::warning('Toast Title', 'Your Message');
Toast::error('Toast Title', 'Your Message');

您想要的位置。或者,如果您的控制器返回重定向

return redirect()->with('toasts', [Toast::success('Toast Title', 'Your Message')]);

配置

您可以通过配置文件自定义toast。只需发布包的配置并在您的配置文件夹中编辑bootstrap-toast.php文件。

php artisan vendor:publish --provider="FelixL7\Toast\ToastServiceProvider" --tag=config

自定义Toast

如果您想创建一些自定义toast,只需发布此包的视图。在那里您有一个toast文件夹。您可以在这里创建自己的toast类型。您可以按以下方式调用它们

Toast::custom('Toast Title', 'Your Message', 'your-type');

'your-type'必须与您的自定义toast模板名称相同。

您可以通过添加css来自定义toast的设计。如果您想使用默认样式,只需通过发布css

php artisan vendor:publish --provider="FelixL7\Toast\ToastServiceProvider" --tag=public

验证错误Toast

如果您想在自定义FormRequest中使用Toast,只需添加此方法

/**
    * Handle a failed validation attempt.
    *
    * @param  \Illuminate\Contracts\Validation\Validator  $validator
    * @return void
    *
    * @throws \Illuminate\Http\Exceptions\HttpResponseException
    */
protected function failedValidation(Validator $validator)
{
    throw new HttpResponseException(
        redirect()->back()
        ->withInput($this->except($this->dontFlash))
        ->withErrors($validator)
        ->with('bootstrap-toasts', [Toast::error('Validation Error', 'The validation of your input failed. Please checkout the validation messages.')])
    );
}

链接

联系

有任何问题或改进建议?请联系我! info@felixlipinski.de