0

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 には良い例がなく、私は今立ち往生しています。

どうすればいいのですか?

4

1 に答える 1