Использование синтаксиса лезвия Laravel для вкладок Bootstrap и маршрутизации - PullRequest
0 голосов
/ 01 июля 2019

Я уже прочитал некоторые ссылки, относящиеся к вкладке 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');

До сих пор я выяснил некоторые случаи

  1. Может быть, мой синтаксис блейда @yield или @includeневерно.
  2. Возможно, маршрутизация неверна (из-за того, что на первой странице вкладки отображаются данные всех трех).
...