私は2時間グーグルで検索しましたが、答えが見つかりませんでした. 多分あなたは助けることができます。
MyControllerで定義すると:
class MyController extends Base_Controller {
public $layout = 'layouts.default';
public function get_index() {
$entries = Entry::all();
return View::make('entries.index')
->with('entries', $entries);
}
}
}
entry\index.blade.php内:
@section('content')
<h1>Test</h1>
@endsection
そして、layouts\default.blade.phpで:
<!DOCTYPE html>
<html>
<body>
@yield('content')
</body>
</html>
何も表示されていません。そして、私はその理由を理解していません。MyController の戻り部分を次のように置き換えると:
$this->layout->nest('content', 'entries.index', array(
'entries' => $entries
));
その後、すべてが機能していますが..きれいに見えず、好きではありません。すべてのビューを追加すると、@layout('layouts.default')
すべてがうまく機能しますが、DRY ではありません。たとえば、RoR では、Controller でそのようなことを行う必要はありません。
MyController
1つのレイアウトで定義して使用するにはどうすれreturn View::make
ばよいですか(これは正しい方法だと思います)、またはどうすればより良くできますか?