2015-10-17 4 views
1

Я пробовал этот новый способ программирования (это для меня новичок), который является Blade templating в сочетании с Laravel 5, теперь у меня это работает без @extends('layouts.master') и @section('content'), но когда я пытаюсь их добавить, это не сработает.Blade templating '@extends' и '@section' не работает

Мой файл master.blade.php находится в views/layouts:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <title>Untitled</title> 
     <!--[if lt IE 9]> 
     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> 
     <![endif]--> 
     <!-- Latest compiled and minified CSS --> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 

     <!-- Optional theme --> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 

     <!-- Latest compiled and minified JavaScript --> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
    </head> 
    <body> 
     <nav class="navbar navbar-default"> 
      <div class="container-fluid"> 
      <!-- Brand and toggle get grouped for better mobile display --> 
      <div class="navbar-header"> 
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       </button> 
       <a class="navbar-brand" href="#">Brand</a> 
      </div> 

      <!-- Collect the nav links, forms, and other content for toggling --> 
      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
       <ul class="nav navbar-nav"> 
       <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li> 
       <li><a href="#">Link</a></li> 
       <li class="dropdown"> 
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
        <ul class="dropdown-menu"> 
        <li><a href="#">Action</a></li> 
        <li><a href="#">Another action</a></li> 
        <li><a href="#">Something else here</a></li> 
        <li role="separator" class="divider"></li> 
        <li><a href="#">Separated link</a></li> 
        <li role="separator" class="divider"></li> 
        <li><a href="#">One more separated link</a></li> 
        </ul> 
       </li> 
       </ul> 
       <form class="navbar-form navbar-left" role="search"> 
       <div class="form-group"> 
        <input type="text" class="form-control" placeholder="Search"> 
       </div> 
       <button type="submit" class="btn btn-default">Submit</button> 
       </form> 
       <ul class="nav navbar-nav navbar-right"> 
       <li><a href="#">Link</a></li> 
       <li class="dropdown"> 
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
        <ul class="dropdown-menu"> 
        <li><a href="#">Action</a></li> 
        <li><a href="#">Another action</a></li> 
        <li><a href="#">Something else here</a></li> 
        <li role="separator" class="divider"></li> 
        <li><a href="#">Separated link</a></li> 
        </ul> 
       </li> 
       </ul> 
      </div><!-- /.navbar-collapse --> 
      </div><!-- /.container-fluid --> 
     </nav> 
    </body> 
</html> 
<div class="content"> 
    @yield('content') 
</div> 

Мой index.blade.php расположен в воззрениях:

@extends('layouts.master'); 
@section('content'); 
<div id="large-header" class="large-header"> 
    <canvas id="demo-canvas"></canvas> 
    <h1 class="main-title"><span>Hello</i></span></h1> 
    <h1 class="arrow-down"><a data-scroll href="#about"><img src="http://cdn.onnoschwanen.com/images/ui/arrow-down.svg"/></a></h1> 
</div> 

Что я здесь делаю неправильно?

ответ

1

У Вас есть ошибка в вашем index.blade.php на линии 1 и 2.

точка с запятой ; не допускаются в лопастных шаблонах

ли это:

@extends('layouts.master') 
@section('content') 
<div id="large-header" class="large-header"> 
    <canvas id="demo-canvas"></canvas> 
    <h1 class="main-title"><span>Hello</i></span></h1> 
    <h1 class="arrow-down"><a data-scroll href="#about"><img src="http://cdn.onnoschwanen.com/images/ui/arrow-down.svg"/></a></h1> 
</div> 

И это должно работать хорошо.

Надеюсь, это поможет!

+0

Это отлично работает, спасибо, я даже не заметил этого! –

0

Вы должны использовать команду @yield в master.blade.php не в index.blade.php.

Попробуйте это в master.blade.php после окончания nav тега:

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

И удалить из index.blade.php в ; символы с 1-й и 2-й линии.

You can read the docs about blade templating.

Смежные вопросы