如何在Laravel項目中實現優雅的閃現通知?laracasts/flash助你一臂之力

可以通過一下地址學習composer學習地址

在開發 laravel 項目時,如何向用戶提供及時且美觀的反饋信息是一個常見需求。最近在處理一個項目時,我遇到了一個問題:需要在用戶操作后顯示簡潔明了的通知信息,但又不想花費大量時間去定制復雜的通知系統。經過一番探索,我發現了 laracasts/flash 這個 composer 包,它不僅解決了我的問題,還大大提升了用戶體驗。

安裝與配置

使用 laracasts/flash 非常簡單,只需通過 Composer 安裝即可:

composer require laracasts/flash

安裝后,默認的 css 類是為 twitter bootstrap 優化的,因此你需要在你的 html 或布局文件中引入 Bootstrap 的 CSS:

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

使用方法

在控制器中,在執行重定向之前調用 flash() 函數即可:

public function store() {     flash('Welcome Aboard!');      return home(); }

你還可以根據需要設置不同的通知類型:

  • flash(‘Message’)->success():設置通知主題為“成功”。
  • flash(‘Message’)->Error():設置通知主題為“錯誤”。
  • flash(‘Message’)->warning():設置通知主題為“警告”。
  • flash(‘Message’)->overlay():以覆蓋層形式顯示通知。
  • flash()->overlay(‘Modal Message’, ‘Modal Title’):顯示帶標題的模態覆蓋層。
  • flash(‘Message’)->important():為通知添加關閉按鈕。
  • flash(‘Message’)->error()->important():顯示需要手動關閉的“錯誤”通知。

在視圖中,你可以使用預設的模板來顯示這些通知:

@include('flash::message')

示例

以下是一個簡單的 HTML 示例,展示如何在頁面中使用 laracasts/flash:

           Document     <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">    
@include('flash::message')

Welcome to my website...

<script> $('#flash-overlay-modal').modal(); </script>

如果你需要修改通知模板,可以運行以下命令:

php artisan vendor:publish --provider="LaracastsFlashFlashServiceProvider"

這樣,包的視圖文件將被復制到 resources/views/vendor/flash/ 目錄下,你可以根據需要進行修改。

高級功能

隱藏通知

如果你希望通知在顯示幾秒后自動隱藏,可以使用以下 JavaScript 代碼:

<script> $('div.alert').not('.alert-important').delay(3000).fadeOut(350); </script>

這將使非重要通知在顯示三秒后逐漸淡出。

多重通知

如果你需要在一次操作中顯示多個通知,只需多次調用 flash() 函數即可:

flash('Message 1'); flash('Message 2')->important();  return redirect('somewhere');

這樣,用戶在重定向后將看到兩個通知。

總結

laracasts/flash 是一個簡單而強大的工具,它讓在 laravel 項目中實現閃現通知變得異常簡單和高效。通過這個包,我不僅解決了項目中的通知問題,還提升了用戶體驗,使得整個應用更加友好和專業。如果你也在尋找一個簡便的通知解決方案,不妨試試 laracasts/flash。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享