2017-07-08 16 views
-2

laravelのviewsフォルダをどのように構築するかについて疑問を抱いています。たとえば、私たちは、ホームページにこのような構造を持っているブログサイト:収穫に何も表示されていません

ヘッダー(我々がメニューを持っている:記事を検索するためのホームページへのリンク、検索バー、サインインして、ログインボタン)すると

最後の5つの投稿があるセクション

次に、最も閲覧された部分のあるセクション。

そしてフッター。

ビューの観点からこのホームページをどのように構築できますか?たとえば、次のようなものがあります:

-views 

    - layouts 
    - header.blade.php 
    - footer.blade.php 
    - posts 
    - lastposts.blade.php 
    - mostviewed.blade.php 
    - single.blade.php 
    - layout.blade.php 

あなたはその大丈夫だと思いますか?私はこれをテストしているので動作していません。 layout.blade.phpで例えば、私が持っている:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
.... 
<link href="css/app.css" rel="stylesheet"> 
</head> 

<body> 

@include('layouts.nav') 

@yield('lastposts') 

@yield('mostviewed') 

@include(layouts.footer') 

</body> 


</html> 

そして、私はcorretlyページにアクセスしたとき、私は、ヘッダーとフッターを得るが、両方@yieldsは何も表示しないいけません。私はmostviewed.blade.phpため同じロジックを持っていますが、再び、@yieldが( 'mostviewed'

@extends('layout') 
@section('lastposts') 
<div> 
    <h4>Title</h4> 
    <p>Text</p> 
    </div> 
</div> 
<div> 
    <h4>Title</h4> 
    <p>Text</p> 
    </div> 
</div> 
<div> 
    <h4>Title</h4> 
    <p>Text</p> 
    </div> 
</div> 
<div> 
    <h4>Title</h4> 
    <p>Text</p> 
    </div> 
</div> 
<div> 
    <h4>Title</h4> 
    <p>Text</p> 
    </div> 
</div> 
@endsection 

:私は最後の5件の記事を表示するlastposts.blade.phpで

)何も表示しないでください。

あなたはどうしていないのですか?

ルートファイル:

Route::get('/', function() { 
    return view('layout'); 
} 

私はちょうど今のホームページを持っているので、私はちょうどこのルートを持っています。

+1

質問に経路を追加してください –

答えて

1

誤った表示を作成しました。親ビューはレイアウトであり、mostviewedとlastpostsについてはわかりません。だからこそあなたは@extends( 'layout')を書いています。あなたのコンテンツビューを作成すると、それはレイアウトからものを拡張する必要があることがわかります。

Route::get('/', function() { 
    return view('posts.mostviewed'); 
} 
+0

ありがとうございます、お見逃しなく、最後に5つのポットセクションを表示する方法? – JakL

+0

@JakLそれでは、あなたのルートに次のような別のルートを作成する必要があります:Route :: get( '/ lastposts'、function(){ return view( 'posts.lastposts'); } –

+0

ありがとう同じページの2つのセクションが同じリクエストで読み込まれるため、ページにアクセスすると2つのセクションがロードされます。 – JakL

関連する問題