Laravel Nova 安裝與啟用指南(以 3.22.0
為例)
介紹
用途
Laravel Nova 是 Laravel 官方推出的後台管理面板 (Admin Panel),專門用來管理 Laravel 應用程式的資料。它提供直覺且強大的 UI,讓開發者快速建立後台,不需手動開發 CRUD
介面。
主要特色
- 資源 (Resources):對應 Eloquent Model,支援新增、編輯、刪除資料。
- 篩選器 (Filters):可自訂條件,協助快速查找資料。
- 鏡頭 (Lenses):建立自訂資料檢視邏輯。
- 批次操作 (Actions):執行自訂批次處理。
- 儀表板與指標 (Dashboards & Metrics):顯示統計圖表如今日用戶數、銷售額。
- Eloquent 關聯支援:支援 BelongsTo、HasMany、BelongsToMany 等。
- 客製化 (Customization):支援自訂 UI 與元件。
- 授權 (Authorization):整合 Laravel Policies 限制存取權限。
安裝 Laravel Nova 3.22.0
前置條件
- 已建立 Laravel 專案。
- Laravel Nova 是付費套件,需購買授權並下載安裝 zip 檔。
- 將 Nova zip 解壓縮至專案根目錄的
nova/ 資料夾。
修改 composer.json
安裝指令
確認 app/Providers/NovaServiceProvider.php 存在。
建立管理員帳號
若使用內建 App\Models\User 模型,可於 Nova 資源內指定:
安裝 NPM 相依套件(若有自訂前端資源)
Nova Artisan 指令總覽
| 指令 |
說明 |
nova:install |
安裝 Nova 資源 |
nova:publish |
發布設定、翻譯等資源檔案 |
nova:stubs |
發布 Nova 的 stub 範本 |
nova:resource {name} |
建立資源 |
nova:field {name} |
建立自訂欄位 |
nova:filter {name} |
建立篩選器 |
nova:custom-filter {name} |
建立自訂篩選器 |
nova:action {name} |
建立批次操作 |
nova:tool {name} |
建立完整 Nova 擴充套件 |
nova:resource-tool {name} |
建立資源頁專用工具 |
nova:card {name} |
建立資訊卡片 |
nova:dashboard {name} |
建立儀表板 |
nova:theme {name} |
建立佈景主題 |
nova:asset {name} |
建立資源套件(JS/CSS) |
nova:value {name} |
建立單一數值指標 |
nova:trend {name} |
建立趨勢指標 |
nova:partition {name} |
建立分類統計圖表 |
nova:lens {name} |
建立自訂鏡頭 |
nova:translate |
建立翻譯檔案 |
nova:user |
建立 Nova 使用者 |
資源設定(Resource)
建立資源檔案
Nova 會於 app/Nova/Products.php 建立檔案。
註冊資源
於 app/Providers/NovaServiceProvider.php 中:
對應 Eloquent Model
預先載入關聯
預設排序方式
副標題設定
可搜尋欄位
自動輪詢設定
建議僅在需即時更新資料的頁面啟用,如訂單狀態監控等。
自訂導向行為
補充:相關連結
Laravel Nova 安裝與啟用指南(以 3.22.0 為例)
介紹
用途
Laravel Nova 是 Laravel 官方推出的後台管理面板 (Admin Panel),專門用來管理 Laravel 應用程式的資料。它提供直覺且強大的 UI,讓開發者快速建立後台,不需手動開發 CRUD 介面。
主要特色
安裝 Laravel Nova 3.22.0
前置條件
nova/資料夾。修改
composer.json安裝指令
確認
app/Providers/NovaServiceProvider.php存在。建立管理員帳號
若使用內建
App\Models\User模型,可於 Nova 資源內指定:public static $model = 'App\Models\User';安裝 NPM 相依套件(若有自訂前端資源)
Nova Artisan 指令總覽
nova:installnova:publishnova:stubsnova:resource {name}nova:field {name}nova:filter {name}nova:custom-filter {name}nova:action {name}nova:tool {name}nova:resource-tool {name}nova:card {name}nova:dashboard {name}nova:theme {name}nova:asset {name}nova:value {name}nova:trend {name}nova:partition {name}nova:lens {name}nova:translatenova:user資源設定(Resource)
建立資源檔案
Nova 會於
app/Nova/Products.php建立檔案。註冊資源
於
app/Providers/NovaServiceProvider.php中:use App\Nova\Products; public function resources() { Nova::resources([ Products::class, ]); }對應 Eloquent Model
public static $model = \App\Entities\Products::class;預先載入關聯
public static $with = ['categories', 'media'];預設排序方式
public static $indexDefaultOrder = [ 'is_top' => 'desc', 'updated_at' => 'desc', 'id' => 'desc', ];副標題設定
public function subtitle() { return $this->no; }可搜尋欄位
public static $search = [ 'no', 'title', 'model', 'brief', 'content', 'warranty', 'spec', 'subtitle', ];自動輪詢設定
public static $polling = true; public static $pollingInterval = 5; // 單位:秒建議僅在需即時更新資料的頁面啟用,如訂單狀態監控等。
自訂導向行為
public static function redirectAfterCreate() { return '/admin/products'; } public static function redirectAfterUpdate() { return '/admin/products/'.$this->id; } public static function redirectAfterDelete() { return '/admin/products'; }補充:相關連結