-
라라벨에서 TMDB api사용하기(5)Laravel/TMDB api를 이용한 영화 사이트 만들기 2020. 4. 6. 17:48728x90
index.blade작업이 끝났으니 이제 카테고리에 있는 영화를 클릭했을때 보여지는
show.blade.php를 해봅시다!
MoviesController.php에서
영화 이미지 클릭시에 호출되는 show 함수에서 view함수를 통해서 show.balde.php를 호출한다
movie-card.blade.php
<a href="{{route('movies.show', $movie['id'])}}">
<img src ="{{'https://image.tmdb.org/t/p/w500/'.$movie['poster_path'] }}" alt="faild" class="hover:opacity-75 ">
</a>그러면 클릭시에 show.blade.php로 넘어갈 수 있다. id값을 url에 붙여서 있기 때문에
https://developers.themoviedb.org/3/movies/get-movie-details
GET/movie/{movie_id}
이런식으로 붙여서 쓰란다. 즉 public function show($id) 함수에서
이런식으로 movie id를 통해 그 영화의 detail 정보를 얻어서 view함수를 통해 리턴한다.
<img src ="{{'https://image.tmdb.org/t/p/w500/'.$movie['poster_path'] }}" alt="faild" class="w-96 hover:opacity-75" style="width : 24rem">
<div class="md:ml-24">
<h2 class="text-4xl font-semibold">{{$movie['title']}}</h2>
<div class="flex flex-wrap items-center text-gray-400 text-sm">
<span class="text-yellow-500"><i class="fas fa-star"></i></span>
<span class="ml-1">{{$movie['vote_average']*10 . '%'}}</span>
<span class="mx-2">|</span>
<span>{{\Carbon\Carbon::parse($movie['release_date'])->format('M d, Y')}}</span>
<span class="mx-2">|</span>
<span>
@foreach($movie['genres'] as $genre)
{{$genre['name']}} @if(!$loop->last), @endif
@endforeach
</span>
</div>
<p class="text-gray-300 mt-8">
{{$movie['overview']}}
</p>제목 날짜 상세내용 그런것도 dump한다음에 맞춰서 넣어주면 됨.
Featured Cast 와 playtrailer 버튼이 조금 다른데.
$movie['credits']['crew'] 배열을 foreach문으로 펼쳤는데 저게 뭐냐면
결국 $crew에는 array0부터 1 2 3 ... 이런식으로 담겨 있겠지 그중에 내가 필요한 데이터는
['name']!!!
그리고 foreach문 안에 조건문
@if($loop->index<2)
@endif
이렇게만 출력한다고 되어있는데 이유는 cast가 너무 많아서 2명만 출력하기 위함!!
비디오 클릭버튼 로직
참고데이터
@if(count($movie['videos']['results']) >0 )라는건
예고편이 없을 수 도 있기 때문 ㅋㅋ
나머지 똑같이 캐스트쪽 로직
images쪽 로직
추가 내용
MoviesController.php에서
쿼리 스트링값을 넣어주어야 credits와 videos images 배열값을 얻을 수 있다. 한글 추가한것처럼!!!
참고사이트 : https://developers.themoviedb.org/3/getting-started/append-to-response
728x90'Laravel > TMDB api를 이용한 영화 사이트 만들기' 카테고리의 다른 글
라라벨에서 TMDB api사용하기(4) (0) 2020.04.06 라라벨에서 TMDB api사용하기(3) (0) 2020.04.06 라라벨에서 TMDB api사용하기(2) (0) 2020.04.03 라라벨에서 TMDB api 사용하기 (1) (0) 2020.04.03 TMDB api 사용하는 방법! (0) 2020.04.03