laravel 5.4中未显示Laracast/flash
我最近将我的项目从Laravel 5.1升级到了5.4。除了没有显示的闪光信息外,一切正常。我已执行以下检查,以确保我没有做错什么:laravel 5.4中未显示Laracast/flash,laravel,flash-message,Laravel,Flash Message,我最近将我的项目从Laravel 5.1升级到了5.4。除了没有显示的闪光信息外,一切正常。我已执行以下检查,以确保我没有做错什么: RouteServiceProvider.php web中间件组通过mapWebRoutes功能自动添加到我的路由中 +--------+----------+-----+--------+------------------------------------------+--------------+ | Domain | Method | URI | N
+--------+----------+-----+--------+------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-----+---------------------------------------------------+--------------+
| | GET|HEAD | / | | App\Http\Controllers\HomeController@index| web,auth |
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
上面的代码在Laravel 5.1中工作,我在这里缺少什么?在挖掘之后,我找到了解决方案。在/resources/views/vendor/flash/message.blade.php中,我有以下用于Laravel 5.1的代码
@if (Session::has('flash_notification.message'))
@if (Session::has('flash_notification.overlay'))
@include('flash::modal', ['modalClass' => 'flash-modal', 'title' => Session::get('flash_notification.title'), 'body' => Session::get('flash_notification.message')])
@else
<div class="alert alert-{{ Session::get('flash_notification.level') }}">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ Session::get('flash_notification.message') }}
</div>
@endif
@endif
@if(会话::has('flash_notification.message'))
@if(Session::has('flash_notification.overlay'))
@包括('flash::modal',['modalClass'=>'flash modal','title'=>Session::get('flash\u notification.title'),'body'=>Session::get('flash\u notification.message'))
@否则
&时代;
{{Session::get('flash_notification.message')}
@恩迪夫
@恩迪夫
但是,由于用于显示消息的Laracasts/flash view partial发生了更改,我将新代码放在文件中:
@foreach ((array) session('flash_notification') as $message)
@if ($message['overlay'])
@include('flash::modal', [
'modalClass' => 'flash-modal',
'title' => $message['title'],
'body' => $message['message']
])
@else
<div class="alert
alert-{{ $message['level'] }}
{{ $message['important'] ? 'alert-important' : '' }}"
role="alert"
>
@if ($message['important'])
<button type="button"
class="close"
data-dismiss="alert"
aria-hidden="true"
>×</button>
@endif
{!! $message['message'] !!}
</div>
@endif
@endforeach
{{ session()->forget('flash_notification') }}
@foreach((数组)会话('flash_通知')作为$message)
@如果($message['overlay']))
@包括('flash::modal'[
'modalClass'=>'flash modal',
'title'=>$message['title'],
'body'=>$message['message']
])
@否则
@如果($message['important']))
&时代;
@恩迪夫
{!!$message['message']!!}
@恩迪夫
@endforeach
{{session()->forget('flash_notification')}
它现在工作正常。您使用的是哪个版本的软件包?您是否尝试过将flash软件包更新到最新版本?我正在使用laracasts/flash 3.0此处更改了用于显示消息的部分视图。如果您已经发布并使用了它,则需要手动更改它。这是发布变更日志中的内容,我确实有正确的看法。这是通过
@include('flash::message')