我已经覆盖了我的CI_Controller,因此我可以针对每个控制器进行特定的用户检查,例如,每个人都可以访问Guest_Controller,User_Controller仅适用于已登录的用户。
这一切都运行正常,但我只是覆盖了输出
class Guest_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function _output($content)
{
// Load the base template with output content available as $content
$data['content'] = &$content;
echo($this->load->view('templates/html_guest', $data, true));
}
}
class Homepage extends Guest_Controller {
public function __contruct()
{
}
public function index()
{
$data = array(
'title' => 'Homagepage',
'page_title' => 'Homepage',
'body_classes' => 'home'
);
$this->parser->parse('homepage', $data);
}
}
在我的$data
中你可以看到我有body_classes
,我使用这个,所以我可以根据自己的需要为每个页面提供一个单独的课程。
现在,在body_classes
中添加默认Guest_Controller
的最佳方式是什么?
如果body_class
仅主页,我该如何为其添加一些默认值?
编辑:所以我正在寻找一种方法来轻松添加身体类,同时还有一些默认值。
答案 0 :(得分:1)
class Guest_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function _output($content)
{
// Load the base template with output content available as $content
$data['content'] = &$content;
echo($this->load->view('templates/html_guest', $data, true));
}
//specify default values with $page_info
protected function get_page_info($page_info)
{
$data = array(
'title' => 'default',
'page_title' => 'default',
'body_classes' => 'default'
);
foreach ($page_info as $key => $value)
$data[$key] = $value;
return $data;
}
}
class Homepage extends Guest_Controller {
public function __contruct()
{
}
public function index()
{
$data = array(
'title' => 'Homagepage',
'page_title' => 'Homepage',
);
$this->parser->parse('homepage', $this->get_page_info($data));
}
}