Laravel 4 のビュー内にビューを含めるにはさまざまな方法があります。選択は、以下に概説する結果のいずれかによって異なります...
柔軟性のために
適切なコントローラーで部分ビューをコンパイル (レンダリング)$data['']
し、配列 を使用してこれらのビューをメイン ビューに渡すことができます。
ビューの数が増えるにつれて、これは面倒になるかもしれませんが、少なくとも、多くの柔軟性があります :)
例については、以下のコードを参照してください。
コントローラ
...
public function showMyView()
{
/* Header partial view */
$data['header'] = View::make('partials.header');
/* Flexible enough for any kind of partial views you require (e.g. a Header Menu partial view) */
$data['header_menu'] = View::make('partials.header_menu');
/* Footer partial view */
$data['footer'] = View::make('partials.footer');
return View::make('myView', $data);
}
...
意見
上記のパーシャルを次のように含めることができます (View コードの任意の位置に):
<html>
<head></head>
<body>
<!-- include partial views -->
<?php echo ($header) ?>
<?php echo ($header_menu) ?>
<div id="main-content-area"></div>
<?php echo ($footer) ?>
</body>
</html>
部分ビューがメイン ビューに追加されます。
簡単にするために
実際には、上記の方法を使用するよりもはるかに簡単な方法があります: ビューの html にこれを含めるだけです...
意見
<html>
<head></head>
<body>
<!-- include partial view: header -->
<?php echo View::make('partials.header') ?>
<div id="main-content-area">
</div>
<!-- include partial view: footer -->
<?php echo View::make('partials.footer') ?>
</body>
</html>
Laravel の View::make() 関数に正しいファイルパスを提供するために、パーシャルのフォルダー構造が[views/partials/header.php]であることを確認してください。
警告
$data['page_title']
コントローラーでを渡そうとすると、ネストされたビューはデータを受け取りません。
これらのネストされたビューにデータを渡すには、次のようにする必要があります。
<html>
<head></head>
<body>
<?php
/* Pass page title to header partial view */
$data ['page_title'] = "My awesome website";
echo View::make('partials.header', $data);
?>
<div id="main-content-area"></div>
<?php echo View::make('partials.footer') ?>
</body>
</html>
ノート
質問には「Blade テンプレートを使用しない」と明確に記載されているため、Blade テンプレート コードを含まないソリューションを提供するようにしました。
幸運を :)