обновить раздел вида - PullRequest
1 голос
/ 02 апреля 2020

У меня проблема с обновлением раздела laravel. этот раздел находится в другом представлении и заполнен данными БД. Что я хочу сделать, так это то, что при нажатии на ссылку контент фильтруется, а остальные части страницы остаются такими, какими они были.

спасибо

coursesCategories.blade . php

@extends('courses')

@section('content')

@extends('courses')

@section('content')
<div class="tab-pane fade show active" id="pills-todas" role="tabpanel" aria-labelledby="pills-todas-tab">
    <div class="row justify-content-sm-center">
    @foreach($cursos as $curso)
        <div class="col col-12 col-sm-12 col-md-6 col-lg-4 vista_curso">
            <div class="card column_course">
                <a><img class="card-img-top img_course" src="{{ asset('assets/images/pictureDefault.png') }}" alt="Foto de curso" width="240" height="135"></a>

                <div class="card-body column_course_interna">
                    <div class="include">
                        <div class="card-title titulo_curso">
                            <h3><b>{{ $curso->nombre }}</b></h3>
                        </div>
                        <ul>
                            <li>
                                <i class="fas fa-file col-1"></i>
                                <span class="lista_contenido col-11"> 4 documentos explicativos </span>
                            </li>
                            <li>
                                <i class="fas fa-clock col-1"></i>
                                <span class="lista_contenido col-11"> 32 minutos </span>
                            </li>
                        </ul>
                    </div>
                    <div class="compra">
                        <div><button type="button" class="btn btn-lg btn_suscribe btn_ver" style="width: 84%;">Ver Curso</button></div>
                        <div><button type="button" class="btn btn-lg btn_suscribe" style="width: 84%;">Suscribirse</button></div>
                    </div>
                    <div class="texto_precio">
                        <span class="price">20.99€</span>
                    </div>
                </div>
            </div>
        </div>
    @endforeach
    </div>
</div>
@stop@stop

courses.blade. php

    <div id="mostrar_cursos" class="container-fluid justify-content-center mostrar_cursos">
        <div class="btn_filtros"> <button id="btn_filtros" type="button" class="btn btn-primary btn-sm btn-block d-md-none" onclick="viewfilter();ocult()">Filtrar</button></div>
        <div class="row">
            <div class="d-none d-md-block col col-md-4 col-lg-3 filter" style="max-width: 304px">
                <div class="nav flex-column nav-pills" id="pills-tab" role="tablist" aria-orientation="vertical">

                <a class="nav-link active" id="pills-todas-tab" href="{{ action('CoursesController@showList') }}" role="tab" aria-controls="pills-todas" aria-selected="true">Todas</a>
            @foreach($categorias as $categoria)
            <a class="nav-link" id="pills-ofimatica-tab" href="{{ action('CoursesController@showCourses', $categoria->nombre) }}" role="tab" aria-controls="pills-".$categoria aria-selected="false">{{ $categoria->nombre }}</a>
            @endforeach
                </div>

                <div class="rango_precio">
                    <form>
                        <label for="customRange">Rango de precio</label>
                        <input type="range" class="custom-range" id="customRange">
                    </form>
                    <div id="result">Valor menor que:
                        <b id="valor"></b>
                        <strong>€</strong>
                    </div>
                </div>

                <div class="order_by">
                    <button id="btn_ordenar" class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Ordenar por precio
                    </button>
                    <div class="dropdown-menu" aria-labelledby="dropdownMenu2">
                        <button class="dropdown-item" type="button">Precio más alto</button>
                        <button class="dropdown-item" type="button">Precio más bajo</button>
                    </div>
                </div>
            </div>

            <div class="col col-md-8 col-lg-9 row">
                <div class="navegador_category container">
                    <div class="tab-content" id="pills-tabContent">
            @yield('content')
                    </div>
                </div>
            </div>
        </div>
    </div>

курсыКонтроллер

class CoursesController extends Controller
{
    // list all categories and courses
    public function showList() {
    // categories extracted from the bd
    $categorias = \App\Categoria::listaTodasLasCategorias();

    // filtering courses according to html
    $cursos = \App\Curso::listaTodosLosCursos();

    return view('courses.coursesCategories',['cursos' => $cursos, 'categorias' => $categorias]);
    }

    // list all categories and courses
    public function showCourses(Request $request, String $category) {
    // categories extracted from the bd
    $categorias = \App\Categoria::listaTodasLasCategorias();

    // filtering courses according to html
    $cursos = \App\Curso::listarCursosPorCategoria($category);
        $view = View::make('courses.coursesCategories', ['cursos' => $cursos]);

    if(Request::ajax()) {
    $sections = $view->renderSections(); // returns an associative array of 'content', 'head' and 'footer'

    return $sections['content']; // this will only return whats in the content section

    }

    return $view;
    }

}

маршруты

Route::get('/courses', 'CoursesController@showList');
Route::get('/courses/{category}', 'CoursesController@showCourses');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...