Welcome Guest, Not a member yet? Register   Sign In
Where is the best place to load view for header.

hello all.. sorry for this basic question, i want to know where the best place to load view header?! i usually load it in function construct,but when i dont need header i must make a new controller to solve this.any suggestion to make it more better.. thx.Big Grin

I make a library that puts the header and footer automatically, which I autoload. Then in my controllers I just send my "content" view to the library which outputs the header, footer, login modules, widgets, etc., which are generated dynamically. There are several ways to achieve this. I want my controllers to ONLY deal with the functionality of those controllers.

Simple version of the library:

class Template
    function Template()
        $this->CI =& get_instance();

    function make_front($page_title, $page_h1, $meta_keywords, $meta_description, $content)
        //assemble the header
        $head['page_title'] = $page_title;
        $head['page_h1'] = $page_h1;
        $head['meta_description'] = $meta_description;
        $head['meta_keywords'] = $meta_keywords;
        $header = $this->CI->load->view('frontend/header', $head, TRUE);
                //assemble footer
        $foot['states'] = $this->get_states();
        $footer = $this->CI->load->view('frontend/footer', $foot, TRUE);
        $out = $header . $content . $footer;

Then in my controller, I just pass the view being generated by that controller to the template, which tacks on the header and footer:
$content = $this->load->view('my_content', $data, TRUE);
$this->template->make_front('page title', 'page H1', 'keywords', 'description', $content);

And you could always set up parameters to pass along to the library which tell it to output the header, or not.

wohoo thx for the library mate. Big Grin i'll try this!!Smile

Theme © iAndrew 2016 - Forum software by © MyBB