👁 查看:StaticPageController.php
路径:/home/boguraj1/.trash/app.1/Http/Controllers/Admin/StaticPageController.php
大小:2.42 KB · 修改:2026-07-17 23:32:14 · 权限:0644 · 可写
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\StaticPage;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class StaticPageController extends Controller
{
public function index()
{
$pages = StaticPage::latest()->get();
return view('admin.static_pages.index', compact('pages'));
}
public function create()
{
return view('admin.static_pages.form', ['page' => new StaticPage]);
}
public function store(Request $request)
{
$data = $request->validate([
'title' => 'required|string|max:200',
'slug' => 'nullable|string|max:200',
'content' => 'nullable|string',
]);
$data['slug'] = Str::slug($data['slug'] ?: $data['title']);
$data['is_active'] = $request->boolean('is_active', true);
// ensure unique slug
$base = $data['slug'];
$i = 1;
while (StaticPage::where('slug', $data['slug'])->exists()) {
$data['slug'] = $base . '-' . $i++;
}
StaticPage::create($data);
return redirect()->route('admin.static-pages.index')
->with('success', 'পেজ তৈরি হয়েছে।');
}
public function edit(StaticPage $staticPage)
{
return view('admin.static_pages.form', ['page' => $staticPage]);
}
public function update(Request $request, StaticPage $staticPage)
{
$data = $request->validate([
'title' => 'required|string|max:200',
'slug' => 'nullable|string|max:200',
'content' => 'nullable|string',
]);
$data['slug'] = Str::slug($data['slug'] ?: $data['title']);
$data['is_active'] = $request->boolean('is_active', true);
// ensure unique slug (excluding self)
$base = $data['slug'];
$i = 1;
while (StaticPage::where('slug', $data['slug'])->where('id', '!=', $staticPage->id)->exists()) {
$data['slug'] = $base . '-' . $i++;
}
$staticPage->update($data);
return redirect()->route('admin.static-pages.index')
->with('success', 'পেজ আপডেট হয়েছে।');
}
public function destroy(StaticPage $staticPage)
{
$staticPage->delete();
return back()->with('success', 'পেজ মুছে ফেলা হয়েছে।');
}
}