это мой маршрут
Route::get('/', 'SpielplanController@getSpielplan');
это страница моего макета приложения
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dateneingabe</title>
<link rel="stylesheet" href="/css/app.css">
<script src="{{asset('/js/jquery-3.2.1.min.js')}}"></script>
</head>
<body>
@yield('contentSpiel')
@yield('A')
</body>
</html>
Теперь вот мой @yield (‘contentSpiel’)
@extends('app')
@section('contentSpiel')
<div class="form-group">
<label for="">Spiele</label>
<select class="form-control input-sm" name="spiele" id="spiele">
@foreach($alleSpiele as $alleSpieleOutput)
<option value="{!! $alleSpieleOutput->heimmannschaft !!}">{{$alleSpieleOutput->heimmannschaft}}</option>
@endforeach
</select>
</div>
<script>
$('#spiele').on('change', function(e){
console.log(e);
var spielID = e.target.value;
//ajax
$.get('/spieler-table?spielID=' + spielID, function(data){
//success data
console.log(data);
});
});
</script>
@endsection
и вот мой раздел А
@extends('app')
@section('A')
<h2>asd</h2>
@endsection
Я не могу понять, почему я получаю только раздел @yield (‘contentSpiel’) в моем браузере. Что мне нужно изменить, чтобы оба @yields были в моем браузере?
Вы можете загрузить только один вид из вашего контроллера. Теперь, если у вас есть одно представление, но вы хотите получить несколько его частей, тогда вы можете попробовать этот пример:
@extends('layouts.app')@section('contentSpiel')
<div class="form-group">
<label for="">Spiele</label>
<select class="form-control input-sm" name="spiele" id="spiele">
@foreach($alleSpiele as $alleSpieleOutput) <option value="{!! $alleSpieleOutput->heimmannschaft !!}">$alleSpieleOutput->heimmannschaft}}</option>
@endforeach
</select>
</div>
<script>
$('#spiele').on('change', function(e){
console.log(e);
var spielID = e.target.value;
//ajax
$.get('/spieler-table?spielID=' + spielID, function(data){
//success data
console.log(data);
});
});
</script>
@endsection
@section('A')
<h2>asd</h2>
@endsection
Теперь, если вы напечатаете свое значение в одном представлении и хотите загрузить другое представление, например боковую панель, в своем мастере, просто включите его.
это страница моего макета приложения
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dateneingabe</title>
<link rel="stylesheet" href="/css/app.css">
<script src="{{asset('/js/jquery-3.2.1.min.js')}}"></script>
</head>
<body>
@yield('contentSpiel')
@include('your_view_file_path')
</body>
</html>
в расположение:
<body>
@yield('contentSpiel')
@yield('A')
</body>
@stack('scripts')
contecontentSpiel.blade.php Посмотреть (это представление должно быть возвращено в действии)
@extends('app')
@section('contentSpiel')
<div class="form-group">
...
</div>
@endsection
@push('scripts')
<script>
$('#spiele').on('change', function(e){
...
});
</script>
@endpush
@section('A')
...
@endsection
если вы хотите иметь несколько блейд-файлов … вы можете создать sectionAForContentSpiel.blade.php и переместить сюда раздел кода
@section('A')
...
@endsection
а затем в contecontentSpiel.blade.php
@include('sectionAForContentSpiel')
PS:
с помощью @stack('scripts')
а также @push('scripts') - @endpush
Вы можете включить сценарии в нижней части страницы.
Я думаю, вам нужно изменить страницу макета приложения, например:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dateneingabe</title>
<link rel="stylesheet" href="/css/app.css">
<script src="{{asset('/js/jquery-3.2.1.min.js')}}"></script>
</head>
<body>
<section class="contentSpiel">
@yield('contentSpiel')
</section><section class="A">
@yield('A')
</section>
</body>
</html>
Надеюсь, это поможет вам!