Parei de escrever isso para laravel em favor do pacote Laracasts que lida com tudo isso para você. É realmente fácil de usar e mantém seu código limpo. Existe até um laracast que cobre como usá-lo. Tudo que você tem a fazer:
Puxe a embalagem pelo Composer.
"require": {
"laracasts/flash": "~1.0"
}
Inclua o provedor de serviços em app / config / app.php.
'providers' => [
'Laracasts\Flash\FlashServiceProvider'
];
Adicione um alias de fachada a esse mesmo arquivo na parte inferior:
'aliases' => [
'Flash' => 'Laracasts\Flash\Flash'
];
Puxe o HTML para a exibição:
@include('flash::message')
Há um botão fechar à direita da mensagem. Isso depende do jQuery, portanto, verifique se ele foi adicionado antes da sua inicialização.
mudanças opcionais:
Se você não estiver usando o bootstrap ou quiser pular a inclusão da mensagem em flash e escrever o código você mesmo:
@if (Session::has('flash_notification.message'))
<div class="{{ Session::get('flash_notification.level') }}">
{{ Session::get('flash_notification.message') }}
</div>
@endif
Se você deseja visualizar o HTML extraído @include('flash::message')
, pode encontrá-lo vendor/laracasts/flash/src/views/message.blade.php
.
Se você precisar modificar as parciais, faça:
php artisan view:publish laracasts/flash
As duas visualizações de pacotes agora estarão localizadas no diretório `app / views / packages / laracasts / flash / '.
s
e adicioneuse
onde for necessário. Além disso - deve funcionar.