1.首先先做一個產品的後台管理頁面,首先先在layouts裡面新增一個叫admin_app.blade.php檔案,並將app.blade複製一份過用,修改include路徑
2.新增後台導覽頁,命名為admin_nav.blade.php
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 ]);
}
}
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>
@endfor
</div>
@endsection
5.設定完後加入路由
Route::resource('admin/orders','Admin\\OrderController');
Route::resource('admin/products','Admin\\ProductController');
6.查看瀏覽頁,顯示正常
3.接著創建屬於admin的modal ,命名為admin_modal.blade.php