0

我已经覆盖了我的 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是唯一的,我怎样才能添加一些默认的呢?

编辑:所以我正在寻找一种方法来轻松添加正文类,同时仍然有一些默认值。

4

1 回答 1

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));
    }
}
于 2012-12-19T08:37:54.983 回答