2016-07-01 15 views

Antwort

2

Controller-Aktion wäre so etwas wie sein ..

//use Illuminate\Http\Request; 
    public function flashTest(Request $request){ 
    //see explanation for following line at very end 
    $request->session()->forget('flash_notification'); 

    //Flash::success('this is an alert message'); //if you want to show alert message 

    Flash::overlay('Modal Message'); 
    return view('yourview'); 
    } 

im Blick

<head> 
<!-- Bootstrap css--> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> 
<!-- jQuery --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
</head> 
<body> 

<!--if it's not an overlay, show flash message--> 
@if (!Session::has('flash_notification.overlay')) 
    <div class="alert alert-{{ Session::get('flash_notification.level') }}"> 
     <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 
     {{ Session::get('flash_notification.message') }} 
    </div> 
@else 

<!--perform your overlay action here. For now i am showing a model--> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $('#myModal').modal('show'); 
     }); 
    </script> 

    <!-- bootstrap Modal --> 
    <div id="myModal" class="modal fade" role="dialog"> 
     <div class="modal-dialog"> 
      <!-- Modal content--> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">{{ Session::get('flash_notification.title') }}</h4> 
       </div> 
       <div class="modal-body"> 
        <p>{{ Session::get('flash_notification.message') }}</p> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div> 
      </div> 
     </div> 
    </div> 
    @endif 
    <!-- other code --> 

    <!-- bootstrap js --> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
</body> 

ODER

, wenn Sie ausschließlich nur dieses Paket verwenden möchten; run Befehl php artisan vendor:publish nach dem Hinzufügen von Code in config/app.php wie in laracast/flash angegeben.

Dadurch werden zwei Paketansichten im Verzeichnis "/ vendor/laracasts/flash/src/views /" hinzugefügt. Hier finden Sie die Standardansichten (Sie können sie anpassen). Datei fügen Sie einfach

<body> 

@include('flash::message')<!-- this line is important --> 

<!-- bootstrap js --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

<!-- This is only necessary if you do Flash::overlay('...') --> 
<script> 
$('#flash-overlay-modal').modal(); 
</script> 
</body> 

Erklärung für $request->session()->forget('flash_notification');

Irgendwie dieses Paket wurde beibehalten Schlüssel Overlay Sitzungsvariable

jetzt in der Ansicht. Wenn Sie zum ersten Mal die Overlay-Nachricht anzeigen und das nächste Mal die Flash-Nachricht anzeigen, wird auch eine Flash-Nachricht als Overlay angezeigt. Diese Zeile wird hinzugefügt, um dieses Verhalten zu verhindern. Siehe laravel session.

Auch diese bootstrap overlay

+0

Ty für Ihre Antwort überprüfen, aber ich möchte ein ‚Overlay‘. Mit dem bereitgestellten Code wird Nur Blitzalarm angezeigt. –

+0

funktioniert immer noch nicht. –

+0

Ich habe oben Code getestet und es funktioniert gut. Zeig uns deinen Code; wie Sie es tun und auch erwähnen, wenn es Fehlermeldungen gibt. – SJB