1.首先先做一個產品的後台管理頁面,首先先在layouts裡面新增一個叫admin_app.blade.php檔案,並將app.blade複製一份過用,修改include路徑

1630503774141.jpg

2.新增後台導覽頁,命名為admin_nav.blade.php

1630510120081.jpg

3.創建屬於Admin資料夾下的ProductController

<?php

namespace App\\Http\\Controllers\\Admin;

use Illuminate\\Http\\Request;
use App\\Http\\Controllers\\Controller;
use App\\Models\\Product;

class ProductController extends Controller
{
    public function index(Request $resquest)
    {
        $productCount = Product::count();
        $dataPerpage = 2;
        $productPages = ceil( $productCount / $dataPerpage);
        $currentPage = isset($resquest->all()['page']) ? $resquest->all()['page'] : 1 ;
        $products = Product::orderBy('created_at' , 'desc')
                        ->offset($dataPerpage * ($currentPage - 1))
                        ->limit($dataPerpage)
                        ->get();

        return view('admin.products.index' ,['products' => $products,
                                           'productCount'=>$productCount,
                                           'productPages'=>$productPages ]);
    }
}

1630510205958.jpg

4.接著在views資料夾下admin資料夾下再新增products資料夾並增加index.blade.php

並且將admin/orders/index.blade.php檔案複製過來改

加入nav樣板

@extends('layouts.admin_app')
@section('content')

<h2>產品列表</h2>
<span>產品總數: {{ $productCount }}</span>
<table>
    <thead>
        <tr>
            <td>產品編號</td>
            <td>標題</td>
            <td>內容</td>
            <td>價格</td>
            <td>圖片</td>
            <td>功能</td>
        </tr>
    </thead>
    <tbody>
        @foreach ($products as $product)
            <tr>
                <td>{{$product->id}}</td>
                <td>{{$product->title}}</td>
                <td>{{$product->content}}</td>
                <td>{{$product->price}}</td>
                <td>{{$product->quantity}}</td>
                <td></td>
                <td></td>

            </tr>
        @endforeach
    </tbody>
</table>

<div>
    @for ($i = 1; $i <= $productPages; $i++)
    <a href="/admin/products?page={{ $i }}">第{{ $i }}頁</a> &nbsp;
@endfor
</div>

@endsection

5.設定完後加入路由

Route::resource('admin/orders','Admin\\OrderController');
Route::resource('admin/products','Admin\\ProductController');

6.查看瀏覽頁,顯示正常

1630511234655.jpg

3.接著創建屬於admin的modal ,命名為admin_modal.blade.php