Пример шаблонов PHP Laravel

Я возражаю против создания полного примера из набора инструментов Laravel.
Я хочу установить набор страниц контроллера, передавая данные на блейд-сайт при вызове правильно маршрутизированного адреса.

Вот мой код:

routes.php
Route::get('/game/start', function () {
return view('start');
});

GameController.php

class GameController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

public function Start()
{
$file = fopen("levels.dat", "r");

if($file == false)
return view('start', ['levels' => "Couldn't open file"];

$filesize = filesize($file);
$filetext = fread($file, $filesize);

$fclose($file);

$levels = str_getcsv($filetext,",");

return view('start', ['levels' => $levels,
'levelsLength' => count($levels)]);
}
}

Game.blade.php. Здесь также ссылки JS кровоточат.

<!DOCTYPE html>
<html lang="en">
<head>
<title>Conway's Game Of Life - Game</title>

<!-- CSS And JavaScript -->
<script type="text/javascript" src="/../../vendor/twitter/bootstrap/dist/js/bootstrap.min.js">
</script>
<script type="text/javascript" src="/../../vendor/components/jquery/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="/../../vendor/twitter/bootstrap/dist/css/bootstrap.min.css" />
</head>

<body>
<div class="container">
<nav class="navbar navbar-default">
<!-- Navbar Contents -->

</nav>
</div>

@yield('content')
</body>
</html>

Тогда начните.blade.php

@extends('layouts.game')

@section('content')
<h2>@yield('Title')</h2>
<h3>@yield('Message')</h3>

<div id="first-col">
Please select the layout you want to play with.
<form id="layout-selector" method="POST">
<!-- Watch if this dropdownSelectList works -->
<label for="selectorDropDown"> Please select the layout you want to play with. </label>
<select name="dropDownList">
<!-- This {{$level}} is a string of the Name of the Level -->
@for($i = 0; $i < $levelsLength; $i++)
<option value="{{$levels[$i]}}">{{$levels[$i]}}</option>
@endfor
</select>
<input type="submit" action="public/game/level"/>
</form>
</div>

<div id="second-col">
<img id="lightUp" style="display:none" src="../img/lightUp30.png"/>
<img id="putOut" style="display:none"  src="../img/putOut30.png" />

<canvas id="createCanvas" style="">
Sorry, your browser doesn't support Canvas! Try it in another type!
</canvas>

<script type="text/javascript" src="../js/startGameScript.js"></script>
</div>
@endsection

Поэтому я хотел бы иметь рабочий сайт, так как теперь он не отображается. Спасибо за ваше ценное время и помощь. Любое дальнейшее объяснение запроса!

0

Решение

Вы просто не можете @yield внутри @section

Заменить эту строку

<h2>@yield('Title')</h2>
<h3>@yield('Message')</h3>

с этим

<h2>{{ $Title }}</h2>
<h3>{{ $Message }}</h3>

Если у вас есть $Title & $Message в вашем шаблоне лезвия.

Теперь вы также можете расширить шаблон

<!-- Stored in resources/views/layouts/master.blade.php -->

<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show

<div class="container">
@yield('content')
</div>
</body>
</html>

<!-- Stored in resources/views/child.blade.php -->

@extends('layouts.master')

@section('title', 'Page Title')

@section('sidebar')
@parent

<p>This is appended to the master sidebar.</p>
@endsection

@section('content')
<p>This is my body content.</p>
@endsection

В этом примере секция боковой панели использует @parent директива к добавить (а не перезаписать) содержание на боковой панели макета. @parent директива будет заменена содержимым макета при отображении представления.

Более подробную информацию можно найти здесь https://laravel.com/docs/5.1/blade#template-inheritance

0

Другие решения

Сначала вам нужно исправить этот блок:

  <script type="text/javascript" src="/../../vendor/twitter/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/../../vendor/components/jquery/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="/../../vendor/twitter/bootstrap/dist/css/bootstrap.min.css" />

Файлы внутри Laravel’s продавец на папку нельзя ссылаться из блейда.

Ссылка на размещенные библиотеки вместо:

начальная загрузка

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

JQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

Для последних версий:

https://www.bootstrapcdn.com/

https://developers.google.com/speed/libraries/

0

По вопросам рекламы [email protected]