Laravel只能按消息类型(危险、警告、成功、信息)显示一条消息。有一种解决方案可以传递许多警告消息(例如):
在控制器中发送一个选项卡:
$messagesSuccess = [
'test success 1',
'test success 2'
];
$messagesInfo = [
'test info 1',
'test info 2'
];
$messagesWarning = [
'test warning 1',
'test warning 2'
];
$messagesError = [
'test error 1',
'test error 2'
];
$request->session ()->flash ( 'alert-info', $messagesInfo );
$request->session ()->flash ( 'alert-success', $messagesSuccess );
$request->session ()->flash ( 'alert-warning', $messagesWarning );
$request->session ()->flash ( 'alert-danger', $messagesError );
在php视图中:
<div class="flash-message">
<ul>
@foreach (['danger', 'warning', 'success', 'info'] as $type_message)
@if(Session::has('alert-' . $type_message))
@foreach (Session::get('alert-' . $type_message) as $message)
<li><p class="alert alert-{{ $type_message }}">{{ $message }}</p></li>
@endforeach
@endif
@endforeach
</ul>
</div>
@endif <!-- end .flash-message -->
css的一个例子:
.flash-message {
border-width: 0.2 em;
border-style: dashed;
border-color: grey;
}
.alert {
font-size: 1 em;
font-weight: 800;
}
.alert-danger {
color : #ff6c00;
}
.alert-warning {
color : #FFD700;
}
.alert-success {
color : green;
}
.alert-info {
color : blue;
}
我知道这是一个古老的消息,-但我刚刚问了一个类似的问题,并在这里得到了答案。
如果我理解正确的话,那么键(flash()
的第一个参数)只是用来告诉消息来自哪里。第二个参数可以是一个数组,它可以包含正确显示消息所需的内容。例如,我有一个像这样的flash消息:
session()->flash( 'file_was_not_readable', [
'title' => 'Error reading uploaded file'
'message' => 'Blah di ba doo baa, di ba dee daa'
'type' => 'warning',
]);