ビューを通して変数を渡すことに問題があります。しかし、最初のいくつかのコードKohana - ビュー内のビュー
// i enter the url http://localhost/my_projects/blog/index/index
// classes/controller/index.php
class Controller_Index extends Controller
{
protected $rendered_view;
public function before()
{
$this->rendered_view = View::factory('index')
->set('head', View::factory('subpages/head')
->set('title', 'Site title')
)
->set('nav', View::factory('subpages/nav')
->set('title', 'Site title')
)
->set('header', View::factory('subpages/header')
->set('h1', 'Header H1')
)
->set('sidebar', View::factory('subpages/sidebar')
->set('h1', 'Header H1')
)
->set('content', View::factory('subpages/content')
->set('h2', 'Header H2')
->set('content', 'some content')
)
->set('footer', View::factory('subpages/footer')
->set('footer', 'some footer')
);
}
public function action_index()
{
$this->response->body($this->rendered_view);
}
}
、ビューインデックスに私は、デフォルトのビューに変数を渡す:
// views/index.php
echo View::factory('default')->set('head', $head);
echo View::factory('default')->set('nav', $nav);
echo View::factory('default')->set('header', $header);
echo View::factory('default')->set('sidebar', $sidebar);
echo View::factory('default')->set('content', $content);
echo View::factory('default')->set('footer', $footer);
と私は、「エコー」の変数を試す表示ビューで試してみてください。
// views/default.php
echo $head;
echo $nav;
echo $header;
echo $sidebar;
echo $content;
echo $footer;
そしてエラーをスローする:
ErrorException [ 2 ]: file_put_contents(/some_path/application/logs/2011/02/23.php): failed to open stream: Permission denied ~ SYSPATH/classes/kohana/log/file.php [ 81 ]
もし私がそのようなものを書いたら:
// views/default.php
include Kohana::find_file('views', 'default');
それは有効です;
ただ、ノート、書き込み可能である - 'action_indexあなた' before'のコードがaction_index() ''に移動させなければならない、と() '〜'の後ろに() '。そして 'parent :: before()'/'parent :: after()'が忘れてはいけません! – biakaveron
しかし、私はビューのデフォルト値を設定したかったのですが、他のメソッドで変更する必要がある場合は変更されるため、さまざまなメソッドで同じ値を設定する必要はありません。 – PaulP