2016-05-22 2 views
0

include.blade.phpという名前のページが1つしかなく、header、footer、およびnavbarの@sectionのみが含まれています。私はこのページを使用したいので、毎回ウェブページを作っています。ちょうどそれを呼びます。だから私は@別のページ(index.blade.php)にそれを収穫し、超微細に動作します。しかし、私も@(grades.blade.php)という名前の別のページにそれを表示すると、index.blade.phpのWebページとgrade.blade.phpが表示されます。ブラウザは1つのブラウザウィンドウに2つのWebページを追加します。どのように私は単一のinclude.blade.phpを持っているのですか?各ページに必要なフッタとヘッダを持っていて、どこにでも置くことができますか、それとも1つだけ持つことはできませんか?@yield 1つのインクルードWebページのみを使用して、多くのWebページで同じヘッダとフッタを使用する

include.blade.phpでの私のコード:

@extends('index') 
@section('footer')<footer class="section" ><div class="container"> 
    <div class="row"> 
     <div class="col-xs-12 col-md-6 col-lg-6 col-sm-6 "> 
      <p> 
      <br> © Copyright Pgasinan 2015 
      <br>ArelStreet, 
      <br>Dagupa 2400 
      <br>Phs 
      </p> 
     </div></div></div></footer>@endsection 




@section('navbar')<div class="navbar navbar-default" id="mynav"><div class="container"><div class="navbar-header" > 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-ex-collapse"> 
      <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="#" id="brand"><span>Univean</span></a> 
     </div> 
     <div class="collapse navbar-collapse" id="navbar-ex-collapse"> 
     <ul class="nav navbar-nav navbar-right"> 
      <li> 
      <a href="/">Home</a> 
      </li> 
      <li> 
      <a href="#sec1">Academics</a> 
      </li> 
      <li> 
      <a href="#faq">FAQs</a> 
      </li> 
      <li> 
      <a href="/login">Login</a> 
      </li> 
     </ul> 
     </div> 
    </div> 
    </div> @endsection 

@section('cssandjs') 
    <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script> 
    <script type="text/javascript" src="js/bootstrap.min.js"></script> 

    <link rel="stylesheet" type="text/css" href="css/default.css"> 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
@endsection 

答えて

0

あなたの問題は、あなたのテンプレートの一番上に拡張インデックスから存在します。 「インクルード」ページでフルレイアウトを拡張するべきではありません。

インデックスのようなレイアウトテンプレートを2つ(またはそれ以上)用意する必要があり、そのテンプレートには「インクルード」ページを含めることができます。次に、成績については、単にインデックスの代わりに新しいレイアウトを拡張するだけです。ページ内にヘッダー、フッター、およびナビゲーションバーを含めることについて心配する必要はありません。単にレイアウトを拡張するだけです。

続きを読むhttps://laravel.com/docs/5.1/blade

+0

ありがとうございました!私はまだそれを取得しないでください。私はlaravelのウェブサイトで@extendsを見て、それは私の基礎です。 – BlondePainter

+0

あなたは1つの "incude"ページだけを持つような多くのWebページを使ってビデオ参照を知っていますか – BlondePainter

+0

LaracastsにはLaravelのビデオチュートリアルが多数ありますが、あなたの問題を説明しているかどうかはわかりません。 '@ extends'はあなたが言うことができる"マスター "レイアウトを指定するために使われます。そのレイアウトはセクションを定義し、それらのセクションはページによって埋められます。だから、あなたは '@ include'を使うことができますが、本当にあなたがブレードで考えているものではないので、レイアウトを拡張しようと考えています。私が投稿したリンクを読んで、オンラインでいくつかの例を見る時間を取れば、理解し始めます。それをよく読んで練習してください。 – Devon

関連する問題