我有通過視圖傳遞變量的問題。但是,第一部分代碼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');
它顯示有效;
只是注意 - 你'before'的代碼應該被移到'action_index()'和'action_index() ()'之後。並且不要忘記'parent :: before()'/'parent :: after()'調用! – biakaveron 2011-02-23 18:36:03
但我想爲視圖設置默認值,如果它應該改變其他方法,那麼它將被改變,我不必爲其他方法設置其他值。 – PaulP 2011-02-24 08:19:54