私はプロジェクトでlaravel 3の使用を開始しましたが、昨夜、私が現在調査しているアイテムのほとんどがlaravel 4を参照しているように見え、それが私にとって前進しているように見えるため、途中でlaravel 4に変更することにしました。ただし、アップグレードで何を変更するかについての適切な参照を備えた適切な参照サイトが見つからないため、基本に対する 3 と 4 の違いは特にイライラさせられます。(探し続けます)
とにかく...私の問題。すべてのコントローラーとビューをlaravel 4サイトにコピーしました。コントローラーを介してルートを介して表示する独自の hello ページと基本的な html ページを取得できます。ただし、テンプレートを使用してレンダリングするビューを取得できません。
テンプレートを単独でテストしたところ、レンダリングできるようになりました。to_asset() などのヘルパー関数をいくつか削除する必要がありましたが、今のところ単純なマークアップを使用するだけです。これは:
views/_layouts/master.blade.php
この中に、コンテンツの「プレースホルダー」を作成しました。
@yield('additionalCss')
@yield('shortcuts')
@yield('content')
そして、私が持っているテンプレートの下部に向かって: @yield('additionalScripts')
このテンプレートを使用して別のビューを作成しました...
views/articles/index.blade.php
@extends('_layouts.master')
@section('additionalCss')
<link rel="stylesheet" href="/css/sangoma-green.css"/>
@stop
@section('shortcuts')
<a class="span2 data-block widget-block" href="/articles/create">
<section>
<span class="icon-address-book-alt"></span>
<strong>Add Article</strong>
</section>
</a>
<a class="span2 data-block widget-block" href="#">
<section>
<span class="icon-flag-alt"></span>
<strong>Reports</strong>
</section>
</a>
@stop
@section('content')
<div class="row">
<!-- Data block -->
<article class="span12 dark data-block">
<header>
...additional stuff here (removed for post)...
</header>
<section>
<table class="datatable table table-striped table-bordered table-hover" id="article_table">
... removed content for brevity ...
</table>
</section>
</article>
</div>
@stop
@section('additionalScripts')
<!-- jQuery DataTable -->
<script type="text/javascript" src="/js/plugins/dataTables/jquery.datatables.min.js"> </script>
@stop
このビューをレンダリングしようとすると、次のメインのブラウザーだけが得られます。
<head>
This strangely contains the script markup that's placed at the foot of the page
</head>
<body></body> which is empty
ビューがマスター テンプレートを参照していないかのようです。
ビューは Laravel 3 で正しく機能しました。ブレードのマークアップ (と思います) を laravel 4 に変更しました。誰か私のやり方の誤りを指摘してください。
ありがとうございました