17-5
後台訂單管理
一、利用laravel-admin建立訂單管理頁面
- 我們已經有了訂單的模型(model),所以就可以利用laravel-admin輕鬆建立後台的訂單管理頁面:建立管理訂單的控制器→新增管理訂單的路由→新增後台選單。
二、建立管理訂單的控制器
- 我們一樣用
admin:make
來建立Laravel-Admin 的控制器:
php artisan admin:make OrderController --model=App\Order
再次提醒一下,如果是在Linux下,要寫成這樣:
php artisan admin:make OrderController --model=App\\Order
- 上面指令會自動建立出後台的控制器:
\專案\app\Admin\Controllers\OrderController.php
,這部份我們晚點再來改它。
三、新增管理訂單的路由
- 接著請在laravel-admin的路由配置文件
\專案\app\Admin\routes.php
中加入一行就完成了。
<?php
use Illuminate\Routing\Router;
Admin::registerAuthRoutes();
Route::group([
'prefix' => config('admin.route.prefix'),
'namespace' => config('admin.route.namespace'),
'middleware' => config('admin.route.middleware'),
], function (Router $router) {
$router->get('/', 'HomeController@index')->name('admin.home');
$router->resource('users', UserController::class);
$router->resource('products', ProductController::class);
$router->resource('orders', OrderController::class);
});
四、新增後台選單
- 打開左側選單的
管理
-> 選單
,進入選單管理頁面。
- 在
新增
版塊,標題填入 訂單管理
,圖表選擇fa-cart-plus
,路徑填 /orders
,最後提交。
- 如此,訂單管理頁面就初步完成了!
五、中文化表格標題
- 目前我們看到的訂單管理界面,欄位名稱的地方都是英文(其實就是資料表的欄位名稱),我們來將之改成中文。
- 先開啟語系檔
\專案\resources\lang\zh-TW.json
,加入以下部份就可以了!
"User id":"使用者編號",
"Total": "總計",
"Closed": "已處理"
- 如此,界面看起來就是中文的囉!
六、中文化頁面標題
- 目前頁面標題顯示Index,如此感覺怪怪的,所以,一樣在控制器中,我們找到
index()
,修改之即可:
public function index(Content $content)
{
return $content
->header('訂單管理')
->description('管理所有訂單')
->body($this->grid());
}
關於頁面可以用的方法其實還有很多,可以很彈性的組合各種頁面配置,詳細可參考:https://laravel-admin.org/docs/zh/content-layout
- 如此,就可以得到一個比較完整的界面了!
- 最後,我們就可以透過此界面來管理訂單啦~例如訂單完成後,就將之關閉即可: