10

Laravel と twitter ブートストラップを使用して基本的なページをセットアップしようとしています。私はLaravelをインストールし、一般的な「ここにいます」またはw / eイメージを取得したので、光沢があるように見えます。Twitter ブートストラップの場合、/resources/js、/resources/css、および /resources/img の下にある Twitter ブートストラップ ファイルを /public フォルダーに追加しました。

そこで、基本的に Twitter のブートストラップ .css ファイルが head タグに出力され、bootstrap.min.js および jquery.js スクリプト インクルードが終了 body タグの直前に出力されるビューのテンプレートを作成しようとしています。

これが私がセットアップしたものです:

laravel/app/routes.php

Route::get('/', function()
{
        return View::make('hello');
});

laravel/app/views/hello.php

@extends('layouts.master')

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

laravel/アプリ/ビュー/レイアウト/master.blade.php

<html>
  <head>
    @section('head')
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link href="/resources/css/bootstrap.min.css" rel="stylesheet" media="screen">
    @show
  </head>
  <body>
    <div class="container">
      @yield('content')
    </div>

  @section('footer_scripts')
    <script src="http://code.jquery.com/jquery.js"></script>
    <script src="/resources/js/bootstrap.min.js"></script>
  @show
  </body>
</html>

しかし、ブレード テンプレートがレンダリングされていないようです。これは私が得る出力です:

@extends('layouts.master') @section('content')
This is my body content.

@stop

これは、ページ上とビューソースでどのように見えるかです。html タグやスクリプトは含まれません。なし。基本的なものが欠けているに違いありません.Laravelのドキュメントを調べてみましたが、何が間違っているのかわかりません..誰かが私を正しい方向に向けることができますか?

4

8 に答える 8

22

ブレード テンプレートを使用するには.blade、ファイル名が必要です。たとえば、この場合は

hello.blade.php

そうしないと、レンダリングされません。詳しくはLaravel サイトをご覧ください。@extends('layout.master')これは私のテスト プロジェクト (index.blade.php) の 1 つからの例です。

@extends('layouts.master')

@section('content')
This is a sample of laravel 4 using blade template engine.
This is home page using HomeController and home.blade template.
@stop
于 2013-09-22T02:02:44.673 に答える
3

あなたのlaravel/app/views/hello.php

hello.blade.phpブレードテンプレートエンジンを使用したいので、そのファイルはあるはずです..それだけです。

テンプレートの詳細については、ドキュメントを参照してください。

また、スクリプトを宣言する部分で:

<script src="/resources/js/bootstrap.min.js"></script>

これを使用して行うことができます:これを参照してください

{{ HTML::script('resources/js/bootstrap.min.js') }} 

ちょうどあなたが知っているので。;)

于 2013-09-22T02:02:55.433 に答える
2

最初に説明したのと同じ問題が発生しました。ただし: すべてのテンプレート ファイル名は、*.blade.php で必要な仕様と一致します。また、「レイアウト」パス名が正しく設定されました。結果はまだブレード レンダリングではなく、出力は に制限されていました@extends('layouts.master')

<!-- app/views/index.blade.php -->解決策は次のとおりです。最初の行にコメントを付けてコピーアンドペースト ビュー スクリプトを使用しました。このコメントをテンプレートから削除し、@extends('layouts.master')代わりにビュー スクリプトの最初の行を追加すると、うまくいきました。

よろしく、マクパン

于 2014-04-19T18:26:44.937 に答える
1

私も同じ問題に直面しましたが、 @extends('layouts.master') の前にスペースまたは行を残すか、コメントを残すとレンダリングされないことがわかりました。@extends('layouts.master') は最上位に配置する必要があります。

于 2015-07-20T09:04:00.913 に答える
1

@extends() を最初の行に配置します。

于 2014-07-04T13:04:33.903 に答える
0

私にとっては、括弧間のスペースが原因でした: { {$name} } の代わりに {{$name}} を使用しましたが、うまくいきました。

于 2016-05-24T10:10:25.947 に答える
-1

私は同じ問題に直面しましたが、解決策は@extends('layouts.master')最初の行にある必要があるということです。

于 2015-11-21T16:01:56.923 に答える