brettski Posted March 9, 2011 Share Posted March 9, 2011 Hi there, ok I'm stuck... I need to show different headers for certain pages on my website, My template file below calls in all template parts with the 'layout' file being the file which includes a simple html header and menu. How would I go about this? Would I need to create and call on a seperate/second layout file eg. layout2 or can I determine which header shows on certain pages by adding some code to the layout file itself. Any help greatly greatly appreciated. <?php class Templating extends Model{ function __constructor(){ } function show($center = 'homepage', $right = 'login_box', $left ='left/search_panel', $template = 'layout'){ $data = array( 'right_bar' => $right, 'left' => 'left/search_panel', 'center' => $center, 'left_logged'=>'left/user_panel' ); if ($this->session->userdata('logged_in') == true){ if ($this->session->userdata('admin')){ #$data['right_bar'] = 'right_panel/admin_panel'; $data['left_logged'] = 'right_panel/admin_panel'; }else{ #$data['right_bar'] = 'right_panel/user_panel'; $data['left_logged'] = 'left/user_panel'; //$data['left'] = 'left_panel/user_panel'; } }else{ #$data['right_bar'] = 'right_panel/login_box'; } $this->load->vars($data); $this->load->view($template); } function show_non_live(){ $data = array( 'left' => 'left/search_panel', 'center' => 'center/list_companies', 'left_logged'=>'left/user_panel' ); if ($this->session->userdata('logged_in') == true){ if ($this->session->userdata('admin')){ //$data['right_bar'] = 'right_panel/admin_panel'; $data['left_logged'] = 'right_panel/admin_panel'; }else{ //$data['right_bar'] = 'right_panel/user_panel'; $data['left_logged'] = 'left/user_panel'; } }else{ #$data['right_bar'] = 'right_panel/login_box'; } $template = 'layout'; $this->load->vars($data); $this->load->view($template); } } ?> Link to comment https://forums.phpfreaks.com/topic/230080-header-templating-help/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.