Elegant notifications to laravel with Toastr or PNotify
- Either run
composer require helmesvs/laravel-notify
or add"helmesvs/laravel-notify"
to therequire
key incomposer.json
and runcomposer install
. - Add
Helmesvs\Notify\NotifyServiceProvider::class,
to theproviders
key inconfig/app.php
. - Add
'Notify' => Helmesvs\Notify\Facades\Notify::class,
to thealiases
key inconfig/app.php
. - Run
php artisan vendor:publish --provider="Helmesvs\Notify\NotifyServiceProvider" --tag="notify"
to publish the config file. - Include the output
{!! Notify::render() !!}
in your master view template. - Optional: Modify the configuration file located in config/notify.php.
Call one of these methods in your controllers to insert a notification:
Notify::warning($message, $title = null, $options = [])
- add a warning notificationNotify::error($message, $title = null, $options = [])
- add an error notificationNotify::info($message, $title = null, $options = [])
- add an info notificationNotify::success($message, $title = null, $options = [])
- add a success notificationNotify::add($type: warning|error|info|success, $message, $title = null, $options = [])
- add a notificationNotify::clear()
- clear all current notification
Open config/notify.php
to adjust package configuration. If this file doesn't exist, run php artisan vendor:publish --provider="Helmesvs\Notify\NotifyServiceProvider" --tag="notify"
to create the default configuration file.
'options' => [
'lib' => 'toastr',
'style' => 'custom'
]
Set 'lib'
as toastr
to use toastr.js or pnotify
to use pnotify.js.
Set 'style'
to 'custom'
to use custom settings, or as 'default'
to default library settings.
The style of notifications can be customized in public/vendor/Notify/style.css
.
'ToastrOptions' => [
"closeButton" => false,
"closeHtml" => '',
"newestOnTop" => true,
"progressBar" => false,
...
]
'PNotifyOptions' => [
'title_escape' => false,
'text_escape' => false,
'styling' => 'brighttheme',
'addclass' => '',
...
]
For a list of available options, see toastr.js' documentation and pnotify.js' documentation.