در پروژه این درسنامه ما صفحات view نمایش همه، ایجاد و ویرایش برای نقشها و برای دسترسیها خواهیم داشت. ما میخواهیم صفحات هردوی آنها از یک layout مشابه استفاده کنند و کد بخشهای تکراری چندبار نوشته نشود. برای ساخت ساختار layout روشهای زیادی هست اما در زیر با یک روش خواهیم ساخت.
فایل layout در مسیر زیر خواهد بود:
packages/themahdavi/laravel-permission-editor/resources/views/layouts/app.blade.php:
<!DOCTYPE html>
<html>
<head>
<title>Laravel Permission Editor</title>
</head>
<body>
<nav>
<div>
Laravel Permission Editor
</div>
<div>
<a href="{{ route('permission-editor.roles.index') }}">Roles</a>
<a href="{{ route('permission-editor.permissions.index') }}">Permissions</a>
</div>
</nav>
<main>
@yield('content')
</main>
</body>
</html>
توجه: در این فایل تگهای غیرضروری و همچنین کلاسهای tailwindcss به کلی حذف شده است و هدف این درسنامه فقط درک ساختار میباشد بعدا میتوانید براساس پروژه خودتان به آن استایل دهید.
حالا چطور باید از این layout در پروژه استفاده کنیم؟ بسیار ساده است مشابه پسوندی که در service provider تعریف کردیم داخل فایلهای view استفاده میکنیم.
برای صفحه نقشها:
packages/themahdavi/laravel-permission-editor/resources/views/roles/index.blade.php:
@extends('permission-editor::layouts.app')
@section('content')
Roles: It works with Layout!
@endsection
و همچنین برای صفحه دسترسیها:
packages/themahdavi/laravel-permission-editor/resources/views/permissions/index.blade.php:
@extends('permission-editor::layouts.app')
@section('content')
Permissions: It works with Layout!
@endsection
حالا اگر صفحات را reload کنیم، منوی navigation را بالای صفحات به صورت ثایت خواهیم دید. (دقت کنید ما در این بخش فعلا وارد styles نمیشویم.)
صفحه نقشها:
صفحه دسترسیها:
375 کلمه
440 کلمه
190 کلمه
365 کلمه
268 کلمه
191 کلمه
570 کلمه
349 کلمه
1 کلمه
1 کلمه
1 کلمه
1 کلمه