mauricioschmitz / laravel-toastr
Toastr - Flash Messages for Laravel 5
Requires
- php: >=5.3.0
- illuminate/support: ~5.1
This package is auto-updated.
Last update: 2024-10-26 12:18:32 UTC
README
Simple flash messagges system to use with Laravel 5 Framework. By default it relies on twitter bootstrap "alert" component. You can display multiple flash messages in different types (success, info, warning, danger) at once and to each message you can asign some custom params that will allow you for example mark some of them as important etc.
Installation
Via composer require command
Use composer require command to install this package.
$ composer require mauricioschmitz/laravel-toastr
Laravel version Compatibility
Laravel | Package |
---|---|
5.0.x | 1.0.x |
5.1.x | 1.0.x |
5.2.x | 2.0.x |
5.3.x | 2.0.x |
5.4.x | 2.0.x |
Adding package to composer.json file manually
Add package to your composer.json file:
"require": {
"mauricioschmitz/laravel-toastr": "2.0.*"
}
Use composer update command to install this package.
$ composer update
Registering the Package
Add the Toastr Service Provider to your config in `config/app.php
`:
'providers' => array(
Laraveltoastr\Toastr\Providers\ToastrServiceProvider::class,
),
and create an alias:
'aliases' => [
'Laraveltoastr' => Laraveltoastr\Toastr\Facades\Toastr::class,
],
Usage
First of all you need to add some code to your view scripts. In most cases it will be layout file (or other place where you want to flash message be displayed). You can use default view script distrubuted within this package by adding following code into your view file:
@include('toastr::alerts')
If you use VUE.JS, you need install vue-toastr
npm install --save vue-toastr
And then add to your app.js
import Toastr from 'vue-toastr';
require('vue-toastr/src/vue-toastr.less');
Vue.component('vue-toastr',Toastr);
or to gain more controll of the look and feel of your flash messages you can start with using following template (just copy and paste it into a place where your application allerts should be displayed):
@if(Session::has('toastr.alerts'))
<script>
$(document).ready(function() {
setTimeout(function () {
toastr.options = {
closeButton: true,
progressBar: true,
showMethod: 'slideDown',
timeOut: 4000
};
@foreach(Session::get('toastr.alerts') as $alert)
toastr.{{ $alert['type'] }}('{{ $alert['message'] }}' @if( ! empty($alert['title'])), '{{ $alert['title'] }}' @endif);
@endforeach
}, 1300);
});
</script>
@endif
And add javascript and css plugin, you can download on CodeSeven
https://codeseven.github.io/toastr/
<link href="toastr.css" rel="stylesheet"/>
<script src="toastr.js"></script>
In your controllers/action before you perform a redirect:
public function login()
{
Toastr::success('Welcom back!')->push();
return Redirect::home();
}
you can push more than one alert at once:
public function login()
{
Toastr::success('Welcom back!')->push();
Toastr::warning('You don\'t look too good today!')->push();
return Redirect::home();
}
Other usage examples:
// using alert() method - first param is an alert type socond one is a message:
Toastr::alert('danger','Error - generated by alert() method')->push();
Toastr::alert('danger','Error - generated by alert() method')->push();
Toastr::alert('info','Info - generated by alert() method')->push();
Toastr::alert('warning','Warning - generated by alert() method')->push();
Toastr::alert('success','Success - generated by alert() method')->push();
// error alert with title
Toastr::alert('danger',['Some title','Error - generated by alert() method'])->push();
// succes
Toastr::success('This is success')->push();
// success with title
Toastr::success('Excelent','This is success')->push();
// info
Toastr::info('That is just short info')->push();
// warning
Toastr::warning('Thats a warning!')->push();
// error
Toastr::danger('We got an error!')->push();
// adding additional params to each alert (with() method allows you to pass some custom params that can be used later in a view script)
Toastr::danger('We got an error! And its marked as important')->with(['important' => true])->push();
Toastr::danger('We got an error!', 'But its not that important')->with(['important' => false])->push();