Я уже прочитал некоторые ссылки, относящиеся к вкладке Bootstrap в Laravel, но ни одна из них не работает для меня.
У меня есть 3 просмотра (фильмы, schedule_movies, group_movies), у каждого просмотра есть соответствующий контроллер.Теперь я хочу показать все эти представления, используя компонент вкладки начальной загрузки.Я много пробовал, но вкладки не работают должным образом или иногда все данные трех представлений отображаются на первой вкладке, а иногда отображаются только вкладки, но не данные.
Вот мой код -
app.blade.php
@include('components.navbar')
@yield('base')
base.blade.php
@extends('layouts.app')
@section('base')
<div class="container-fluid">
<div class="row">
<div class="col-2 d-none d-md-block bg-light sidebar" >
@include('components.sidebar')
</div>
<main id="main" class="col-10 ml-sm-auto col-lg-10 px-3">
@yield('content')
</main>
</div>
</div>
@endsection
У меня есть отдельный tab.blade.php
, в котором написан весь код моей вкладки начальной загрузки.и я включил все 3 вида, используя @include
tab.blade.php
@extends('layouts.base')
@section('content')
<div class="p-3">
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link" id="movies-tab" data-toggle="tab" href="#movies" role="tab" aria-controls="movies"
aria-selected="true">All movies</a>
</li>
<li class="nav-item">
<a class="nav-link" id="scheduled-movies-tab" data-toggle="tab" href="#scheduled-movies" role="tab"
aria-controls="scheduled-movies" aria-selected="false">Scheduled Movies</a>
</li>
<li class="nav-item">
<a class="nav-link" id="group-movies-tab" data-toggle="tab" href="#group-movies" role="tab" aria-controls="group-movies"
aria-selected="false">Group Movies</a>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show" id="movies" role="tabpanel" aria-labelledby="movies-tab">
@include('movies.all_movies.index')
</div>
<div class="tab-pane fade" id="scheduled-movies" role="tabpanel" aria-labelledby="scheduled-movies-tab">
@include('movies.scheduled-movies.index')
</div>
<div class="tab-pane fade" id="group-movies" role="tabpanel" aria-labelledby="group-movies-tab">
@include('movies.group-movies.index')
</div>
</div>
</div>
@endsection
MoviesController
class MoviesController extends Controller
{
public function index()
{
$movies = Movie::all();
return view('movies.all_movies.index')->with('movies', $movies);
}
}
Тот же код написан на ScheduledMoviesController
.
Это мой web.php
файл
Route::get('movies', 'MoviesController@index');
Route::get('scheduled-movies', 'ScheduledMoviesController@index');
Route::get('group-videos', 'GroupMoviesController@index')->middleware('verified');
До сих пор я выяснил некоторые случаи
- Может быть, мой синтаксис блейда @yield или @includeневерно.
- Возможно, маршрутизация неверна (из-за того, что на первой странице вкладки отображаются данные всех трех).