반응형
게시판을 만들다보니 비슷한 소스가 여러 파일에 공통적으로 들어가는것을 알게됐다. 이런건 그냥 놔두면 안되고 반드시 include하는게 좋다.
@section('header')
<div class="d-flex flex-column flex-md-row align-items-center pb-3 mb-4 border-bottom">
<span class="fs-4">게시판 목록</span>
<nav class="d-inline-flex mt-2 mt-md-0 ms-md-auto">
@guest()
<a href="{{route('auth.login')}}" class="text-xl">로그인</a> /
<a href="{{route('auth.signup')}}" class="text-xl">회원가입</a>
@endguest
@auth()
<form action="/logout" method="post" class="inline-block">
@csrf
<span class="text-xl text-blue-500">{{auth()->user()->userid}}</span> /
<a href="/logout"><button class="text-xl">로그아웃</button></a>
</form>
@endauth
</nav>
</div>
@endsection
바로 이부분이다. 여기서 section부분을 제외하고 안쪽에 인클루드를 시키면 된다. 그러기 위해서 해당 부분을 잘라내서 새로운 파일을 만든다.
/resources/views/boards/toptitle.blade.php
<div class="d-flex flex-column flex-md-row align-items-center pb-3 mb-4 border-bottom">
<span class="fs-4">{{ $toptitle }}</span>
<nav class="d-inline-flex mt-2 mt-md-0 ms-md-auto">
@guest()
<a href="{{route('auth.login')}}" class="text-xl">로그인</a> /
<a href="{{route('auth.signup')}}" class="text-xl">회원가입</a>
@endguest
@auth()
<form action="/logout" method="post" class="inline-block">
@csrf
<span class="text-xl text-blue-500">{{auth()->user()->userid}}</span> /
<a href="/logout"><button class="text-xl">로그아웃</button></a>
</form>
@endauth
</nav>
</div>
타이틀이 들어갈 곳에 변수를 받도록 해 두었다. 이제 인클루드를 시켜보자.
/resources/views/boards/index.blade.php
@extends('boards.layout')
@section('header')
@include('boards.toptitle', ['toptitle'=>'게시판 목록'])
@endsection
@section('content')
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div style="text-align:right;">
<a href="/boards/write"><button class="text-xl">등록</button></a>
</div>
이런식으로 각 페이지에 인클루드 시키면 된다.
반응형
'PHP강좌 > [라라벨]게시판만들기강좌' 카테고리의 다른 글
[라라벨+mysql]게시판 만들기 강좌 #11. 멀티게시판으로 변신 (16) | 2024.07.23 |
---|---|
[라라벨+mysql]게시판 만들기 강좌 #10. Validator (2) | 2024.07.22 |
[라라벨+mysql]게시판 만들기 강좌 #8. 글 쓰기 저장 2/2 (0) | 2024.07.19 |
[라라벨+mysql]게시판 만들기 강좌 #7. 글 쓰기 페이지 1/2 (0) | 2024.07.19 |
[라라벨+mysql]게시판 만들기 강좌 #6. 로그인/로그아웃 만들기 (0) | 2024.07.17 |