在视图中设置和使用全局数据–kohana3使用手册
你的应用程序可以同时显示几个视图文件并且它们使用传来的相同数据。例如:你可以在你的 header 模板和页面的 body 中显示相同的页面标题。你可以使用 View::set_global() 和 View::bind_global() 方法来赋值到全局变量。
设置全局变量
View::set_global(‘page_title’, ‘This is my page title’);
绑定全局变量
绑定全局变量提供了一些很有趣方法,用来使用传递给视图的数据
View::bind_global(‘page_title’, $page_title );
用法
在下面的示例中,一个 page/index 的请求显示了总共3个视图。主要的模板视图,page/about 视图和 sidebars/about 视图。
所有3个视图都会接收传入的 $page_title 属性并会在任何时候按请求自动修改值,直到你手动显示视图或者你允许请求自动处理显示
class Controller_Website extends Controller_Template { public $page_title; public function before() { parent::before(); View::bind_global('page_title', $this->page_title); } } class Controller_Page extends Controller_Website { $this->request->response = View::factory('page/about'); $this->page_title = 'Edit Item'; $this->template->sidebar = View::factory('sidebars/about'); }
博主,兔年快乐!