FuelPHP 1.7の使用に少し混乱しています。
コントローラー
class Controller_Website extends Controller
{
public function action_index()
{
// http://fuelphp.com/docs/general/views.html
$data = Website::get_results();
//var_dump($data) // (data is found here);
$views = array();
$views['head'] = View::forge('common/head', $data);
$views['header'] = View::forge('common/header', $data);
$views['sidebar'] = View::forge('common/sidebar', $data);
$views['content'] = View::forge('common/content', $data);
$views['footer'] = View::forge('common/footer', $data);
// return the rendered HTML to the Request
return View::forge('website', $views)->render();
}
}
モデル
class Website extends \Model
{
public static function get_results()
{
// Database interactions
$result = DB::select('menu', 'url', 'title', 'text')
->from('aaa_website')
->where('id', '=', 1035)
->and_where('visible', '1')
->execute();
return $result;
}
}
すべてがうまくいきます。データがクエリされ、コントローラーで検出されます。私が達成しようとしているのは、次のデータを使用することです。
(ネストされた) ビュー
<html>
<head>
<?php echo $head; ?>
</head>
<body>
<header>
<div class="container">
<?php echo $header; ?>
</div>
</header>
<div class="row">
<div class="container">
<div class="col-md-4">
<?php echo $sidebar; ?>
</div>
<div class="col-md-8">
<?php echo $content; ?>
</div>
</div>
</div>
<footer>
<div class="container">
<?php echo $footer; ?>
</div>
</footer>
</body>
</html>
ヘッド ビュー (ネスト):
<title><?php echo $title; ?></title>
コンテンツ ビュー (ネスト):
<h1><?php echo $title; ?></h1>
<div class="welcome_user"><?php echo $text; ?></div>
等々。
この例のビューの変数は、コントローラーで明示的に設定されていないため使用できません。それらは明示的に設定する必要がありますか、それともデータオブジェクトを渡すことも可能ですか? もしそうなら、どうすればこのオブジェクトのデータに正しい方法でアクセスできますか? ここで FuelPHP には良い例がなく、私は今立ち往生しています。
どうすればいいのですか?