:::

17-5 後台訂單管理

一、利用laravel-admin建立訂單管理頁面

  1. 我們已經有了訂單的模型(model),所以就可以利用laravel-admin輕鬆建立後台的訂單管理頁面:建立管理訂單的控制器→新增管理訂單的路由→新增後台選單。

二、建立管理訂單的控制器

  1. 我們一樣用 admin:make 來建立Laravel-Admin 的控制器:
    php artisan admin:make OrderController --model=App\Order

    再次提醒一下,如果是在Linux下,要寫成這樣:

    php artisan admin:make OrderController --model=App\\Order

     

  2. 上面指令會自動建立出後台的控制器:\專案\app\Admin\Controllers\OrderController.php,這部份我們晚點再來改它。

三、新增管理訂單的路由

  1. 接著請在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);
    });
    

四、新增後台選單

  1. 打開左側選單的 管理 -> 選單,進入選單管理頁面。
  2. 新增 版塊,標題填入 訂單管理,圖表選擇fa-cart-plus,路徑填 /orders,最後提交
  3. 如此,訂單管理頁面就初步完成了!

 

五、中文化表格標題

  1. 目前我們看到的訂單管理界面,欄位名稱的地方都是英文(其實就是資料表的欄位名稱),我們來將之改成中文。
  2. 先開啟語系檔\專案\resources\lang\zh-TW.json,加入以下部份就可以了!
    "User id":"使用者編號",
    "Total": "總計",
    "Closed": "已處理"

     

  3. 如此,界面看起來就是中文的囉!

六、中文化頁面標題

  1. 目前頁面標題顯示Index,如此感覺怪怪的,所以,一樣在控制器中,我們找到index(),修改之即可:
    public function index(Content $content)
    {
        return $content
            ->header('訂單管理')
            ->description('管理所有訂單')
            ->body($this->grid());
    }

    關於頁面可以用的方法其實還有很多,可以很彈性的組合各種頁面配置,詳細可參考:https://laravel-admin.org/docs/zh/content-layout

  2. 如此,就可以得到一個比較完整的界面了!
  3. 最後,我們就可以透過此界面來管理訂單啦~例如訂單完成後,就將之關閉即可:

到GitHub觀看此單元程式異動


:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D43%26tbdsn%3D1455

計數器

今天: 1451145114511451
昨天: 1416141614161416
總計: 7340098734009873400987340098734009873400987340098